如何用C语言编写程序输入一个正整数n,编程序输出从2到n间的所有完数。

描述一个正整数如果恰好等于它的因子之和,这个数就称为"完数"。例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。输入一个正整数n,编程序输出从2到n间的所有... 描述

一个正整数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。
输入一个正整数n,编程序输出从2到n间的所有完数。

输入
一个正整数n。
输出
从2到n间的所有完数。
样例输入
50
样例输出
6
展开
 我来答
百度网友a39fb3e
推荐于2017-09-13 · TA获得超过4466个赞
知道小有建树答主
回答量:477
采纳率:100%
帮助的人:68.6万
展开全部

C语言实现如下:

#include<stdio.h>
void main()
{
int i,j,k,n;
scanf("%d",&n);  //输入一个正整数n
for(i=2;i<=n;i++)
{
k=0;
for(j=1;j<=i-1;j++)
if(i%j==0) k+=j;
if(k==i) printf("%d\n",i);
//判断i的所有真因子之和是否等于i,是则输出i。
}
}

注意:建议n的取值小于10000,否则程序运行的时间将比较长。

知识扩展:完数,一般指完全数,一个自然数如果它的所有真因子(即除了自身以外的约数)的和等于该数,那么这个数就是完全数,如:6的真因子有1 、2、3,6=1+2+3,所以6是一个完全数。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式