酷代码 AI
菜单
服务商

给定一个整数 𝑛 ( 1 <= 𝑛 <= 10 10 ) ,求出 𝑛 的因子的个数。 样例输入 复制 8 样例输出 复制 4 提示 8 的因子有:,,, 1 , 2 , 4 , 8

要计算整数 \( n \) 的因子个数,可以使用质因数分解的方法。 设 \( n \) 的质因数分解为: \[ n = p_1^{a_1} \times p_2^{a_2} \times \dots \times p_k^{a_k} \] 则因子个数为: \[ d(n) = (a_1 + 1) \times (a_2 + 1) \times \dots \times (a_k + 1) \] 对于 \( n = 8 \): \[ 8 = 2^3 \] \[ d(8) = (3 + 1) = 4 \] 以下是实现代码(C++): ```cpp #include <iostream> #include <cmath> using namespace std; int main() { long long n; cin >> n; long long ans = 1; for (long long i = 2; i * i <= n; i++) { if (n % i == 0) { int cnt = 0; while (n % i == 0) { n /= i; cnt++; } ans *= (cnt + 1); } } if (n > 1) ans *= 2; // 剩余一个质因数 cout << ans << endl; return 0; } ``` [2025-12-14 20:15:53 | AI问答 | 301点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多