题解 | 完数
完数
https://www.nowcoder.com/practice/3d8cabccd6224b638573293a811c6346
#include <stdio.h>
int wang(int n){
int sum=1;
for(int i=2;i<=sqrt(n);i++){
if(n%i==0)sum=sum+(i+n/i);}
return sum;
}
int main() {
int a, b,n;
scanf("%d", &n) ;
for(int i=2;i<=n;i++)
{ // 注意 while 处理多个 case
int t=wang(i); // fun(i); // 64 位输出请用 printf("%lld") to
if(t==i) printf("%d ", t);
}
return 0;
}
我还是可以嘛 函数+循环
查看30道真题和解析