酷代码 AI
菜单

题目描述 先输入一个正整数 n n,请你编写程序求出该数的全部因子(不包括 1 1 和 n n)的和。 输入格式 一行,一个正整数 n n。 输出格式 一个整数代表 n n 的因子和(不包括 1 1 和 n n)C++

```cpp #include <iostream> // 此函数用于计算一个数除去1和它本身的所有因子之和 int sumOfFactors(int n) { int factorSum = 0; // 从2开始到n-1遍历,找出所有因子并累加 for (int i = 2; i < n; ++i) { if (n % i == 0) { factorSum += i; } } return factorSum; } int main() { int n; // 从标准输入读取一个正整数n std::cin >> n; // 调用函数计算因子和 int result = sumOfFactors(n); // 将结果输出到标准输出 std::cout << result << std::endl; return 0; } ``` 代码解释 1. `sumOfFactors`函数:该函数接收一个整数`n`作为参数,用于计算`n`除去1和它本身的所有因子之和。函数内部使用`for`循环从2开始到`n - 1`进行遍历,对于每个数`i`,检查`n`是否能被`i`整除,如果可以,则将`i`累加到`factorSum`中。最后返回`factorSum`。 2. `main`函数:首先从标准输入读取一个正整数`n`,然后调用`sumOfFactors`函数计算`n`除去1和它本身的所有因子之和,并将结果存储在`result`中,最后将`result`输出到标准输出。 复杂度分析 - 时间复杂度:$O(n)$,因为需要遍历从2到`n - 1`的所有数。 - 空间复杂度:$O(1)$,只使用了常数级的额外空间。 [2026-01-16 23:06:30 | AI问答 | 414点数解答]

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