#include<stdio.h> int perfect(int n) { int i,sum; sum=0; for(i=1;i<n/2+1;i++) if(n%i==0) sum+=i; if(sum==n) return 1; else return 0; } int main() { int i,n,count,a,b,t; scanf("%d",&n); while(n--) { count=0; scanf("%d%d",&a,&b); if(a>b) { t=a; a=b; b=t; } for(i=a;i<=b;i++) if(perfect(i)) count++; printf("%d/n",count); } } 贱题!!! 要考虑 num1不是总比num2小,“请输出num1和num2之间存在的完数个数”