解题思路:
①在while 循环外 规定计数变量初值h,
在while循环内 将变量h++(每输入一次A,B),直至变量h>=M(结束输入A,B的值)
②注意:在每次输入比较A,B后, sum1和sum2的值必须清零,避免影响下次比较;
③因数:必然小于A/B的1/2;
A%i==0时,sum1进行累加;
注意事项:
参考代码:
#include<stdio.h> int main() { int M; scanf("%d",&M); int h=0; //计数变量 while(h<M){ //循环条件 // printf("%d %d\n",h,M); h++; //递加 int A=0,B=0; int sum1=0,sum2=0; scanf("%d %d",&A,&B); // printf("%d %d %d\n",A,B,h); if(A>=0&&B<=60000){ for(int i=1;i<=A/2;i++){ //因数求和 if(A%i==0){ sum1=sum1+i; } } for(int j=1;j<=B/2;j++){ //因数求和 if(B%j==0){ sum2=sum2+j; } } //printf("\n%d %d",sum1,sum2); if(sum1==B&&sum2==A)printf("YES\n"); //比较,输出 else printf("NO\n"); } } return 0; }
0.0分
0 人评分