题解 | #完全数计算#
完全数计算
https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84
#include<stdio.h> int test(int num) { int mid = (num / 2) + 1; int i = 1; int add = 0; for (i = 1; i < mid; i++) { if (num % i == 0) { add += i; } } if (add == num) return 1; else return 0; } int main(void) { int i = 1; int j = 0; int n = 0; int count = 0; int mid = 0; scanf("%d", &n); for (i = 1; i <= n; i++) { if (test(i) == 1) { //test函数是用来测试是否为完美数,返回1证明这个数是,返回0则不是 count++; } else { ; } } printf("%d", count); }