Total Submission(s): 14360 Accepted Submission(s): 5160
本题的任务是判断两个正整数之间完数的个数。
2 2 5 5 7
0 1
#include<stdio.h> #include<string.h> int a[10002]; int main() { int i,j; int n,m; int t; memset(a,0,sizeof(a)); for(i=1;i<=5000;i++) //哈希表、筛选法 for(j=2*i;j<=10000;j+=i) a[j]+=i; for(i=1;i<=10000;i++) { if(a[i]==i) a[i]=1; else a[i]=0; } scanf("%d",&t); while(t--) { int sum=0; scanf("%d%d",&n,&m); if(n>m) { i=n; n=m; m=i; } for(i=n;i<=m;i++) if(a[i]==1) sum++; printf("%d\n",sum); } return 0; }