乂爻yiyao 2021-09-22 16:03 采纳率: 25%
浏览 75

求分母为n的最简真分数个数

public class ProperFractions {
  public static long properFractions(long n) {
    if (n==1) return 0;
    long r=n;
    for(long d=2;d*d<=n;d++){
        if(n%d == 0){
            while(n%d == 0){
                n/=d;
            }
            r-=r/d;
          }
    }
    if(n>1) r-=r/n;
    return r;
  }
}

这段代码为什么可以求分母为n的最简真分数个数。

  • 写回答

2条回答 默认 最新

  • 於黾 2021-09-22 16:07
    关注

    所谓最简真分数
    首先它是真分数,分子不能比分母大
    最简,不能简化,也就是分子不是分母的因子
    不是因子就是不能整除
    理解了题意再看代码

    评论

报告相同问题?

问题事件

  • 修改了问题 9月22日
  • 修改了问题 9月22日
  • 创建了问题 9月22日

悬赏问题

  • ¥20 校园二手交易小程序搭建
  • ¥15 请问在ubuntu用conda创建环境报错怎么能解决
  • ¥15 STM32CubeMX/proteus按键控制指示灯颜色切换
  • ¥20 python,计算区位熵和扩张指数
  • ¥15 Python环境配置
  • ¥15 大四学生的困惑,有偿提问!
  • ¥15 解决页面无法编入索引:被“noindex”标签排除的问题?
  • ¥15 arduino测量电阻
  • ¥15 快手uid转快手号谁能解决 需要开发
  • ¥15 iis部署Django时css不生效,来个真人,ai不好使