蓝桥杯国14 互质

问题描述

请计算在 [1,2023的2023次幂] 范围内有多少个整数与 2023 互质。由于结果可能很大,你只需要输出对 109+7 取模之后的结果。

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

**由于 2023 可以分解为质因数 717 的乘积(2023 = 7 * 17 * 17),任何包含 717 作为因子的数都与 2023 不互质。**用总数减去这些非互质的数,剩下的就是互质的数。

119 是 被 7 和 17 同时整除的数,只需要减去一次。

java 复制代码
import java.math.BigInteger;

public class 国14互质 {
    public static void main(String[] args) {
        BigInteger b7 = BigInteger.valueOf(7), b17 = BigInteger.valueOf(17), b119 = BigInteger.valueOf(119);
        BigInteger target = BigInteger.valueOf(2023).pow(2023);
        BigInteger cnt7 = target.divide(b7), cnt17 = target.divide(b17), cnt119 = target.divide(b119);
        BigInteger result = target.subtract(cnt7).subtract(cnt17).add(cnt119); // 119 是 被 7 和 17 同时整除的数,只需要减去一次
        System.out.println(result.mod(BigInteger.valueOf(1000000007)));
    }
}
java 复制代码
输出:640720414
相关推荐
谁刺我心6 小时前
【蓝桥杯刷题环境】VScode插件算法刷题Competitive Companion
职场和发展·蓝桥杯
代码无bug抓狂人1 天前
C语言之李白打酒(蓝桥杯省B)
c语言·开发语言·蓝桥杯
XH华2 天前
备战蓝桥杯,第六章:C++语言的输入输出(下)
c++·职场和发展·蓝桥杯
季明洵2 天前
两数之和、四数相加II、三数之和、四数之和
java·数据结构·算法·leetcode·蓝桥杯·哈希算法
代码无bug抓狂人2 天前
C语言之宝石组合(蓝桥杯省B)
c语言·开发语言·蓝桥杯
XH华2 天前
备战蓝桥杯,第五章:string字符串
c++·职场和发展·蓝桥杯
代码无bug抓狂人3 天前
(蓝桥杯省B)R格式
c语言·蓝桥杯
llz_1124 天前
16届蓝桥杯B组 C++题解
c++·算法·蓝桥杯
XH华4 天前
备战蓝桥杯,第四章:数组
职场和发展·蓝桥杯
养军博客4 天前
C语言五天算法速成(可用于备考蓝桥杯)
c语言·算法·蓝桥杯