c语言程序就是有错误,高人帮我看看啊!!!很简单
题:若正整数A的全部约数(包括1,不包括A本身)之和等于B;且整数B的全部约数(包括1,不包括B本身)之和等于A,则A、B为亲密数。编程,输入正整数A,输出亲密数A,B(...
题:
若正整数A的全部约数(包括1,不包括A本身)之和等于B ; 且整数B的全部约数(包括1,不包括B本身)之和等于A,则 A 、 B 为亲密数。编程,输入正整数A,输出亲密数 A , B(A<=B) ,若不存在亲密数,则输出 No output 。
例如: 220 和 284 就是一对亲密数。 220 的约数是: 1 、 2 、 4 、 5 、 10 、 11 、 20 、 22 、 44 、 55 、 110 ,约数之和是 284 ; 284 的约数是: 1 、 2 、 4 、 71 、 142 ,约数之和是 220 。
我的程序:
#include <stdio.h>
int main()
{
int a,b,i,j,k;
scanf("%d",&a);
for(i=1;i<a;i++);
{j=1;
if(a%i==0)
j=j+i;
}
for(b=1;b<i;b++);
{
k=1;
if(j%b==0)
k=b+k;
}
if(k==j) printf("%d-%d\n",j,k);
else printf("No output\n");
} 展开
若正整数A的全部约数(包括1,不包括A本身)之和等于B ; 且整数B的全部约数(包括1,不包括B本身)之和等于A,则 A 、 B 为亲密数。编程,输入正整数A,输出亲密数 A , B(A<=B) ,若不存在亲密数,则输出 No output 。
例如: 220 和 284 就是一对亲密数。 220 的约数是: 1 、 2 、 4 、 5 、 10 、 11 、 20 、 22 、 44 、 55 、 110 ,约数之和是 284 ; 284 的约数是: 1 、 2 、 4 、 71 、 142 ,约数之和是 220 。
我的程序:
#include <stdio.h>
int main()
{
int a,b,i,j,k;
scanf("%d",&a);
for(i=1;i<a;i++);
{j=1;
if(a%i==0)
j=j+i;
}
for(b=1;b<i;b++);
{
k=1;
if(j%b==0)
k=b+k;
}
if(k==j) printf("%d-%d\n",j,k);
else printf("No output\n");
} 展开
展开全部
#include <stdio.h>
int main()
{
int a,b,i,j,k;
j = 0;
k = 0;
scanf("%d",&a);
for(i=1;i<a;i++);
{
if(a%i == 0)
j=j+i;
}
for(b=1;b<i;b++);
{
if(j%b == 0)
k=b+k;
}
if(k == j)
printf("%d-%d\n",j,k);
else
printf("No output\n");
}
刚开始设置的保存约数的和是0而不是1,且不应该放在循环里面,你要学会调试呀,今天不小心被扣了20分财富分,郁闷了。给我点分吧,心里不爽着。
int main()
{
int a,b,i,j,k;
j = 0;
k = 0;
scanf("%d",&a);
for(i=1;i<a;i++);
{
if(a%i == 0)
j=j+i;
}
for(b=1;b<i;b++);
{
if(j%b == 0)
k=b+k;
}
if(k == j)
printf("%d-%d\n",j,k);
else
printf("No output\n");
}
刚开始设置的保存约数的和是0而不是1,且不应该放在循环里面,你要学会调试呀,今天不小心被扣了20分财富分,郁闷了。给我点分吧,心里不爽着。
展开全部
#include <stdio.h>
int main()
{
int a,b,i,j=0,k=0;
scanf("%d",&a);
for(i=1;i<a;i++)//你这多了一个分号
{
if(a%i==0)
j=j+i;
}
for(b=1;b<j;b++)
{
if(j%b==0)
k=k+b;
}
if(k==a&&a<=j)printf("%d-%d\n",k,j);//保证A比B小
else printf("No output\n");
}
int main()
{
int a,b,i,j=0,k=0;
scanf("%d",&a);
for(i=1;i<a;i++)//你这多了一个分号
{
if(a%i==0)
j=j+i;
}
for(b=1;b<j;b++)
{
if(j%b==0)
k=k+b;
}
if(k==a&&a<=j)printf("%d-%d\n",k,j);//保证A比B小
else printf("No output\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-04-12
展开全部
#include"stdio.h"
int main()
{
int a,b,i,j,k;
scanf("%d",&a);
j=0;
k=0;
for(i=1;i<a;i++)
{if(a%i==0)
j+=i;
}
for(b=1;b<j;b++)
{if(j%b==0)
k+=b;
}
if(j==k&&k<=j)
{getch();
printf("%d,%d\n",j,k);
}
else
{getch();
printf("No output\n");
}
}
int main()
{
int a,b,i,j,k;
scanf("%d",&a);
j=0;
k=0;
for(i=1;i<a;i++)
{if(a%i==0)
j+=i;
}
for(b=1;b<j;b++)
{if(j%b==0)
k+=b;
}
if(j==k&&k<=j)
{getch();
printf("%d,%d\n",j,k);
}
else
{getch();
printf("No output\n");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询