C++的一道题:求400以内的亲密对数。 我这个代码哪里错了啊?
答案:3 悬赏:80 手机版
解决时间 2021-01-16 18:26
- 提问者网友:捧腹剧
- 2021-01-16 05:06
C++的一道题:求400以内的亲密对数。 我这个代码哪里错了啊?
最佳答案
- 五星知识达人网友:摆渡翁
- 2021-01-16 06:12
# include
void main()
{
int a,b,i,j,sum1,sum2;
for(a=2;a<=400;a++)
{
sum1=0,sum2=0;
for(i=1;i {
if(a%i==0)
{
sum1+=i;
}
}
b=sum1;
for(j=1;j {
if(b%j==0)
{
sum2+=j;
}
}
if(a==sum2&&a!=b&&sum2<400)
{
printf("%d\t%d\n",a,b);
}
}
}
这是我自己用c写的程序,模仿你的变量的定义,结果输出正确。sum1相加的应该是i而不是a,sum2相加的是j而不是b。
void main()
{
int a,b,i,j,sum1,sum2;
for(a=2;a<=400;a++)
{
sum1=0,sum2=0;
for(i=1;i {
if(a%i==0)
{
sum1+=i;
}
}
b=sum1;
for(j=1;j {
if(b%j==0)
{
sum2+=j;
}
}
if(a==sum2&&a!=b&&sum2<400)
{
printf("%d\t%d\n",a,b);
}
}
}
这是我自己用c写的程序,模仿你的变量的定义,结果输出正确。sum1相加的应该是i而不是a,sum2相加的是j而不是b。
全部回答
- 1楼网友:千夜
- 2021-01-16 07:41
#include
int func(int n)
{
int i,sum=0;
for(i=1;i if(n%i==0)
sum+=i;
return sum;
}
int main()
{
int i,s1,s2;
for(i=1;i<=400;i++)
{
s1=func(i);
s2=func(s1);
if(i==s2)
printf("%d - %d\n",i,s2);
}
return 0;
}
int func(int n)
{
int i,sum=0;
for(i=1;i
sum+=i;
return sum;
}
int main()
{
int i,s1,s2;
for(i=1;i<=400;i++)
{
s1=func(i);
s2=func(s1);
if(i==s2)
printf("%d - %d\n",i,s2);
}
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯