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

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

#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;
}

望采纳