蓝桥杯国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
相关推荐
此生决int16 小时前
算法从入门到精通——位运算
数据结构·c++·算法·蓝桥杯
210Brian19 小时前
蓝桥杯单片机学习笔记(十三) V2026大模板构筑(下)
单片机·学习·蓝桥杯
此生决int4 天前
算法从入门到精通——前缀和
c++·算法·蓝桥杯
2301_800895104 天前
第九届蓝桥杯国赛b组--备战国赛版h
蓝桥杯
WL_Aurora5 天前
备战蓝桥杯国赛【Day 18】
python·算法·蓝桥杯
210Brian5 天前
蓝桥杯单片机学习笔记(十二):V2026 大模板构建(上)
单片机·学习·蓝桥杯
WL_Aurora6 天前
备战蓝桥杯国赛【Day 17】
算法·蓝桥杯
此生决int7 天前
算法从入门到精通——滑动窗口
c++·算法·蓝桥杯
WL_Aurora7 天前
备战蓝桥杯国赛【Day 16】
python·蓝桥杯
奔跑的Ma~7 天前
第6篇:蓝桥杯C++进阶突破(难题拆解+算法优化,冲刺国赛高奖)
c++·算法·蓝桥杯·#蓝桥杯备战·#c++编程·编程竞赛