题解 | #完全数计算#
完全数计算
https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int Perfectnumber(int digit)//判断这个数字是不是完美数 { int sum = 0; for (int i = 1; i < digit; i++)//从1到这个数值本身 { if (digit % i == 0 && digit != i)//这里是计算符合条件的数值的相加 { sum += i; } } if (sum == digit) return 1; else return 0;//也就是没有返回不完美的情况 所以导致开始写代码判断的时候 出现错误 } void Traverse(int n)//遍历 { int count = 0; for (int i = 1; i <= n; i++) { if (Perfectnumber(i) == 1) count++; } printf("%d", count); } int main() { int n = 0; scanf("%d", &n); Traverse(n); return 0; }