打印1000以内的完数,完数指所有因子之和等于它本身的数。用C语言。

 我来答
ufish
推荐于2018-04-27 · TA获得超过821个赞
知道小有建树答主
回答量:463
采纳率:50%
帮助的人:229万
展开全部
// 本程序演示一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数
#include"stdio.h"
main()
{
int i,j,s,sum;
printf("完数:\n") ;
sum=0;
for(i=2;i<=1000;i++)
{ s=0; ;//此处s=0一定要加,因为前几次循环的时候s的值已经改变 。清零
for(j=1;j<i;j++)
{
if(i%j==0)//这一块是如果能够整除,那么就是该数的因子,我们累加起来

{s+=j;
}
}
if(s==i) //因子的和与原数比较,如果正确就输出
{printf("%d\n",i);
sum++;
}
}
printf("完数的个数:%d\n",sum);
}
狂好泰元明
2019-03-29 · TA获得超过4093个赞
知道大有可为答主
回答量:3096
采纳率:27%
帮助的人:178万
展开全部
//
本程序演示一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数
#include"stdio.h"
main()
{
int
i,j,s,sum;
printf("完数:\n")
;
sum=0;
for(i=2;i<=1000;i++)
{
s=0;
;//此处s=0一定要加,因为前几次循环的时候s的值已经改变
。清零
for(j=1;j<i;j++)
{
if(i%j==0)//这一块是如果能够整除,那么就是该数的因子,我们累加起来
{s+=j;}
}
if(s==i)
//因子的和与原数比较,如果正确就输出
{printf("%d\n",i);sum++;
}
}
printf("完数的个数:%d\n",sum);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孙永超fight
2012-10-27 · TA获得超过732个赞
知道小有建树答主
回答量:603
采纳率:0%
帮助的人:666万
展开全部
#include<stdio.h>#include<math.h>
int sx(double n){doublei,k;k=sqrt(n)+1;
for(i=3;i<k;i+=2) if(fmod(n,i)==0)return 0;
return 1;}//判断是否为素数
int main(){double i,k,t,p;for(p=2;p<=31;p++){if(sx(p)==0)continue;t=1;
for(k=1;k<=p;k++)t=t*2;i=t/2;t--;if(sx(t)==1)printf("p=%3.01f\ wq=%10.01f*%10.01f=%20.01f\n",p,i,t,i*t);}}
//应用欧几里得实现完全数的算法
//自己改改吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式