1 条题解
-
0
#include <stdio.h> int sum_divisors(int n) {//函数名,表示计算一个数字的所有约数之和 int sum = 1;//初始化一个变量sum=1;因为1是所有数的真约数 for (int i = 2; i * i <= n; i++) { if (n % i == 0) { sum += i;//如果i是n的约数,则添加i到sum中 if (i * i != n) {// 避免重复添加平方根的约数 sum += n / i;// 如果n除以i的商也是i的约数,则添加n/i到和中 } } } return sum; } int sum_divisors(int n); int main() { int m, n; scanf("%d %d", &m, &n); for (int i = m; i <= n; i++) { if (sum_divisors(i) == i) { printf("%d ", i); } } printf("\n"); return 0; }
- 1
信息
- ID
- 203
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 4
- 标签
- 递交数
- 97
- 已通过
- 44
- 上传者