编程找出1000以内所有的完数,并输出每个完数的所有因子

 我来答
王泽无敌真的
2011-11-19 · TA获得超过148个赞
知道答主
回答量:17
采纳率:0%
帮助的人:5.5万
展开全部
# include<stdio.h>
int main()
{
int n,i,sum;/*定义变量*/
for(n=2;n<=1000;n++)/*给变量赋初值实现循环*/
{sum=0;
for(i=1;i<=n;i++)
{
if(n%i==0)
sum=sum+i;/*把它的因数累加起来赋给sum存储起来*/
if(sum==n)/*因数之和等于给出的那个数n*/
{
printf(" %d its factors are",n);/*输出n的值*/
for(i=1;i<n;i++)
{
if(n%i==0) printf("%d,",i);/*把i的值依次输出*/
} printf("\n"); /*输出完一列之后换行*/
}
}

}
return 0;
}
匿名用户
2019-03-05
展开全部
#include<stdio.h>
int main()
{
int i,j,sum;
for(i=1;i<=1000;i++)
{
sum=0;
for(j=1;j<i;j++)
if(i%j==0)
sum=sum+j;
if(i==sum)
{
printf("%d its factors are ",i);
for(j=1;j<i;j++)
if(i%j==0)
printf("%d,",j);
printf("\n");
}
}
return 0;
}
结果:
6 its factors are 1,2,3,
28 its factors are 1,2,4,7,14,
496 its factors are 1,2,4,8,16,31,62,124,248,
Press any key to continue
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浩i子xbaby
2012-05-25
知道答主
回答量:42
采纳率:100%
帮助的人:10.9万
展开全部
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:编写程序,输出 1000 以内的所有完数及其因子。
说明:所谓完数是指一个整数的值等于它的因子之和。
例如“ 6 的因子是 1 、 2 、 3 ,而 6=1+2+3 ,故 6 是
一个完数。

-------------------------------------------------------*/

#include <stdio.h>

int main()
{
int i,j,m,s,k,a[100] ;
for(i=1 ; i<=1000 ; i++ )
{
m=i ; s=0 ; k=0 ;
for(j=1 ; j<m ; j++)
/***********SPACE***********/
if((m%j)== 0)
{
s=s+j ;
/***********SPACE***********/
a[k++]=j ;
}
/***********SPACE***********/
if(s!=0&&s==m) /***if available, output the results***/
{
/***********SPACE***********/
for(j=0 ; j<k ; j++)
printf("%4d",a[j]) ;
printf(" =%4d\n",i) ;
}
}
system ("pause");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式