欧拉降幂(JAVA)蓝桥杯乘积幂次

这个题可以使用欧拉降幂,1000000007是质数,所以欧拉函数值为1000000006.

java 复制代码
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
     public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        //输入
        long n = scanner.nextLong();
        int m = scanner.nextInt();

        //记录F(m) % 1000000007的欧拉函数
        long t = 1;
        for (int i = 2; i < m + 1; i++) {
            t = (t * i) % 1000000006;
        }

        //快速乘法幂
        long y = t % 1000000006;
        long ans = 1;
        while (y > 0){
            if((y & 1) == 1){
                ans = (ans * n) % 1000000007;
            }
            y>>=1;
            n = (n * n) % 1000000007;
        }

        System.out.println(ans);
        
    }
}
相关推荐
s1hiyu3 分钟前
C++动态链接库开发
开发语言·c++·算法
(❁´◡`❁)Jimmy(❁´◡`❁)4 分钟前
CF2188 C. Restricted Sorting
c语言·开发语言·算法
星火开发设计9 分钟前
C++ 预处理指令:#include、#define 与条件编译
java·开发语言·c++·学习·算法·知识
许泽宇的技术分享11 分钟前
第 1 章:认识 Claude Code
开发语言·人工智能·python
AIFQuant25 分钟前
如何利用免费股票 API 构建量化交易策略:实战分享
开发语言·python·websocket·金融·restful
Hx_Ma1626 分钟前
SpringMVC返回值
java·开发语言·servlet
Yana.nice30 分钟前
openssl将证书从p7b转换为crt格式
java·linux
独自破碎E32 分钟前
【滑动窗口+字符计数数组】LCR_014_字符串的排列
android·java·开发语言
想逃离铁厂的老铁36 分钟前
Day55 >> 并查集理论基础 + 107、寻找存在的路线
java·服务器
2601_9494800638 分钟前
【无标题】
开发语言·前端·javascript