酷代码 AI
菜单
服务商

C++ 实现计算 1 到 n 之间所有数字的因数总和

以下是使用 C++ 解决此问题的代码: ```cpp #include <iostream> using namespace std; // 计算一个数的所有因数之和 int sumOfFactors(int num) { int sum = 0; // 因数是成对出现的,所以只需要遍历到 sqrt(num) 即可 for (int i = 1; i * i <= num; i++) { if (num % i == 0) { sum += i; // 如果 i 不等于 num / i,则加上 num / i if (i != num / i) { sum += num / i; } } } return sum; } int main() { int n; cin >> n; int totalSum = 0; // 遍历 1 到 n 之间的所有数字 for (int i = 1; i <= n; i++) { totalSum += sumOfFactors(i); } cout << totalSum << endl; return 0; } ``` ### 代码解释: 1. **`sumOfFactors` 函数**:该函数用于计算一个数的所有因数之和。通过遍历从 1 到该数的平方根的所有数字,找出所有的因数,并将它们相加。 2. **`main` 函数**:读取输入的整数 `n`,然后遍历从 1 到 `n` 的所有数字,调用 `sumOfFactors` 函数计算每个数字的因数之和,并将这些和累加起来。最后输出累加的结果。 ######[AI问答 | 385点数解答 | 2026-03-28 19:01:25]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]