杭电2040 哪里错了
#include<stdio.h>intmain(){inta,b,x,y,i,n;while(scanf("%d",&n)!=EOF){for(i=1;i<=n;i++...
#include<stdio.h>
int main()
{
int a,b,x,y,i,n;
while(scanf("%d",&n)!=EOF)
{
for(i=1;i<=n;i++)
{
x=0;
y=0;
scanf("%d%d",&a,&b);
for(i=1;i<a;i++)
{
if(a%i==0)
x=x+i;
}
for(i=1;i<b;i++)
{
if(b%i==0)
y=y+i;
}
if(a==y&&b==x)
printf("YES\n");
else
printf("NO\n");
}
}
return 0;
} 展开
int main()
{
int a,b,x,y,i,n;
while(scanf("%d",&n)!=EOF)
{
for(i=1;i<=n;i++)
{
x=0;
y=0;
scanf("%d%d",&a,&b);
for(i=1;i<a;i++)
{
if(a%i==0)
x=x+i;
}
for(i=1;i<b;i++)
{
if(b%i==0)
y=y+i;
}
if(a==y&&b==x)
printf("YES\n");
else
printf("NO\n");
}
}
return 0;
} 展开
1个回答
2011-10-03
展开全部
#include <stdio.h>
int main()
{
int i,j,k,a,b,n,s1,s2;
scanf("%d",&n);
for(k=1;k<=n;k++)
{
s1=0;
s2=0;
scanf("%d%d",&a,&b);
for(i=1;i<a;i++)
if(a%i==0)
s1+=i;
for(j=1;j<b;j++)
if(b%j==0)
s2+=j;
if(a==s2&&b==s1&&a!=b)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
int main()
{
int i,j,k,a,b,n,s1,s2;
scanf("%d",&n);
for(k=1;k<=n;k++)
{
s1=0;
s2=0;
scanf("%d%d",&a,&b);
for(i=1;i<a;i++)
if(a%i==0)
s1+=i;
for(j=1;j<b;j++)
if(b%j==0)
s2+=j;
if(a==s2&&b==s1&&a!=b)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
追问
我想要的是我哪里错了,我该怎么改
还有为什么不用while(scanf("%d",&n)!=EOF)?????
追答
你自己比对一下不就知道了么?你看不出来几乎一样么?
为什么不用while(scanf("%d",&n)!=EOF),因为只有一组数据。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询