如何用c语言编程求1000以内所有的完数(c语言编程找出1000以内所有完数)

网友投稿 500 2022-06-13


很多人说C语言是学生时代的福音,利用它可以帮助许多学生党解决许多问题。今天就给大家分享一下如何使用C语言编程求完数。

首先我们需要了解一下什么是完数,在数学中如果一个数刚好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3,接下来就用C语言编程找出1000以内的所有完数。

程序分析:

对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

代码实现:

#include

int main(void)

{

static int k[10];

int i, j, n, s;

for (j = 2; j < 1000; j++)

{

n = -1;

s = j;

for (i = 1; i < j; i++)

{

if ((j % i) == 0)

{

n++;

s = s - i;

k[n] = i;

}

}

if (s == 0)

{

printf("%d is a perfect number ", j);

for (i = 0; i < n; i++)

printf("%d,", k[i]);

printf("%d\n", k[n]);

}

}

return 0;

}

运行结果:

6 is a perfect number 1,2,3

28 is a perfect number 1,2,4,7,14

496 is a perfect number 1,2,4,8,16,31,62,124,248


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:零Python基础也能驾驭的PPT自动化教程(如何使用Python实现PPT自动化)(python操作ppt的模块)
下一篇:学习Python必备书籍——python基础教程(第二版)内附电子书下载方式(python入门电子书免费下载)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~