1 条题解
-
0
C :
#include<stdio.h> #include<math.h> int main() { int n,a,s,i,j,l; scanf("%d",&n); for(i=1;i<=n;i++) { s=0; scanf("%d",&a); l=sqrt((double)a); for(j=1;j<=l;j++) { if(a%j==0) { s+=j; if(j!=a/j) { if(j!=1) { s+=a/j; } } } } if(s==a&&a!=1) { printf("%d is perfect\n",a); } else { printf("%d is not perfect\n",a); } } return 0; }C++ :
#include<stdio.h> #include<string.h> #include<math.h> int main() { int i,j,n,sum,a,b; scanf("%d",&n); while(n>0) { scanf("%d",&a); sum=1; if(a==1) { printf("1 is not perfect\n"); n--; continue; } for(i=2;i<=sqrt(a);i++) { if(a%i==0) { b=a/i; sum=sum+i+b; } } if(sum==a) printf("%d is perfect\n",a); else printf("%d is not perfect\n",a); n--; } return 0; }
- 1
信息
- ID
- 624
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 8
- 标签
- 提交数
- 208
- 已通过
- 26
- 上传者