欧拉降幂(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);
        
    }
}
相关推荐
yyy(十一月限定版)9 分钟前
初始matlab
开发语言·matlab
LawrenceLan10 分钟前
Flutter 零基础入门(九):构造函数、命名构造函数与 this 关键字
开发语言·flutter·dart
listhi52010 分钟前
基于MATLAB的支持向量机(SVM)医学图像分割方法
开发语言·matlab
小璐猪头11 分钟前
专为 Spring Boot 设计的 Elasticsearch 日志收集 Starter
java
hui函数15 分钟前
如何解决 pip install 编译报错 g++: command not found(缺少 C++ 编译器)问题
开发语言·c++·pip
2301_8008951019 分钟前
hh的蓝桥杯每日一题--前缀和
职场和发展·蓝桥杯
Tisfy24 分钟前
网站访问耗时优化 - 从数十秒到几百毫秒的“零成本”优化过程
服务器·开发语言·性能优化·php·网站·建站
济61731 分钟前
嵌入式C语言(第一期)
c语言·开发语言
ps酷教程32 分钟前
HttpPostRequestDecoder源码浅析
java·http·netty
闲人编程32 分钟前
消息通知系统实现:构建高可用、可扩展的企业级通知服务
java·服务器·网络·python·消息队列·异步处理·分发器