1 条题解

  • 0
    @ 2023-12-14 21:54:24
    #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
    上传者