Yokess 2024-03-08 11:19 采纳率: 0%
浏览 18

十四届蓝桥杯软件赛省赛Java大学A组互质数的个数

十四届蓝桥杯软件赛省赛Java大学A组E题:互质数的个数,在求小于a的且与a互质的数的个数函数中为什么要定义一个times变量,且在times!=0时有res=resi%MOD;我的想法是只要a%i=0,即a可以整除i那么由欧拉函数的性质可得res=res(i-1);

img

  • 写回答

4条回答 默认 最新

  • 百锦再@新空间代码工作室 全栈领域优质创作者 2024-03-08 11:19
    关注

    在求小于a的且与a互质的数的个数函数中,定义一个times变量是为了统计与a不互质的数的个数,从而得到与a互质的数的个数。当times不为0时,表示存在与a不互质的数,需要将这部分数剔除掉,所以需要进行res *= i % MOD 的操作。

    代码示例:

    public class Main {private static final int MOD = 1000000007;

    public static void main(String[] args) {int a = 10;
    int result = countCoPrimeNumbers(a);
    System.out.println(result);
    }
    public static int countCoPrimeNumbers(int a) {int res = a;
    int times = 1;
    for (int i = 2;
    i <
    a;
    i++) {times = 1;
    if (a % i == 0) {res = res * (i - 1) % MOD;
    times = 0;
    }}if (times != 0) {res = res * i % MOD;
    }return res;
    }}

    有问题你别着急,评论留言都可以,看到马上就回复,尽量及时补充齐
    评论

报告相同问题?

问题事件

  • 修改了问题 3月8日
  • 修改了问题 3月8日
  • 创建了问题 3月8日

悬赏问题

  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型
  • ¥15 Ubuntu开机显示器只显示kernel,是没操作系统(相关搜索:显卡驱动)
  • ¥15 VB.NET如何绘制倾斜的椭圆
  • ¥15 在rhel8中安装qemu-kvm时遇到“cannot initialize crypto:unable to initialize gcrypt“报错”
  • ¥15 arbotix没有/cmd_vel话题
  • ¥20 找能定制Python脚本的
  • ¥15 odoo17的分包重新供应路线如何设置?可从销售订单中实时直接触发采购订单或相关单据
  • ¥15 用C语言怎么判断字符串的输入是否符合设定?
  • ¥15 通信专业本科生论文选这两个哪个方向好研究呀