输入一个正整数,输出该整数除本身外的所有因数之和。例如:输入10,10的因数包括1、2和5,所以输出8。 输入格式: 请在这里写输入格式。例如:输入一个正整数。 输出格式: 请在这里描述输出格式。例如:输出因数的和。在C语言
时间: 2024-09-12 14:06:26 浏览: 39
c代码-将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
输入格式: 用户需要提供一个正整数n作为输入,比如`int num = <用户输入>`。
输出格式: 程序将计算并返回除了输入的整数本身以外的所有因数之和,如上例所示,如果输入是10,则输出8。
示例 C 代码实现:
```c
#include <stdio.h>
// 函数来找到给定数字的所有因数
int findFactors(int num) {
int sum = 0;
for (int i = 1; i * i <= num; i++) { // 只需检查到√num,因为大于√num的因子会有一个对应小于它的因子已包含
if (num % i == 0) {
// 如果i是因子,那么另一个因子是num/i,但可能i已经包含了它(如1和它自身),所以只加一次
if (i != num / i)
sum += i + num / i;
else
sum += i; // 如果i等于num/i,即num是一个完全平方数,只需加一次i
}
}
return sum;
}
int main() {
int num;
printf("请输入一个正整数: ");
scanf("%d", &num);
int result = findFactors(num);
printf("输入数字 %d 的所有因数之和是: %d\n", num, result);
return 0;
}
```
阅读全文