m0_74343678 2022-12-20 21:13 采纳率: 85.7%
浏览 191
已结题

C++计算并输出1-n之间每个数的因数个数

计算并输出1n之间的每个数的因数个数。
输入正整数n。输出n行,每行一个整数,分别表示1
n中的每一个数的因子个数。

  • 写回答

1条回答 默认 最新

  • |__WhoAmI__| 2022-12-20 21:16
    关注
    #include <iostream>
    #include <cmath>
    
    using namespace std;
    
    int main()
    {
        int n;
        cin >> n;
    
        // 对于 1 到 n 中的每个数
        for (int i = 1; i <= n; i++)
        {
            int count = 0; // 因数个数
    
            // 在 1 到 sqrt(i) 之间枚举 i 的因数
            for (int j = 1; j <= sqrt(i); j++)
            {
                // 如果 j 是 i 的因数,则增加因数个数
                if (i % j == 0)
                {
                    count++;
                    // 如果 j 和 i/j 不同,则增加因数个数
                    if (j != i / j)
                    {
                        count++;
                    }
                }
            }
    
            cout << count << endl; // 输出因数个数
        }
    
        return 0;
    }
    

    望采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月28日
  • 已采纳回答 12月20日
  • 创建了问题 12月20日

悬赏问题

  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画