c语言编程题 :判断一个数是不是完数

c语言编程题 :判断一个数是不是完数,第1张

C语言程序如下:

#include "stdioh"

int main()

{

int n,i,sum=0;//定义一个存放因子和的变量,以及需要判断的数n,和循环条件用到的i

printf("请输入需要判断的数:");

scanf("%d",&n);//存放需要判断的数n

for(i=1;i<n;i++)//循环条件找出因子并累加

{

if(n%i==0)

sum+=i;

}

if(n==sum)

printf("%d 是完数\n",n);

else

printf("%d 不是完数\n",n);

return 0;

}

扩展资料:

程序思路

假设一个数为n,我们可以用循环条件,让n分别和1,2,3,4,5……n-1进行判断是否能被整除,我们可以通过取余(%)的方法来进行判断。如果判断出来取余结果为0,那么就把这些因子全部加起来,得到因子的和。

接下来,将因子的和与n进行比较,如果相等,那么就是完数,反之不是完数。

判断一个完数,就是运用基本输入函数(scanf),将要判断的数据输入进来,之后运用循环条件来判断。

程序如下,不还我是不太了解,完数的意义

如果按你的解释,那么 1也应该是,但为什么没有所以我也不敢乱改你的程序

只是简单的找出程序的错误希望能帮上你的忙

#include<stdioh>

#include<stdlibh>

main()

{

int i,j;

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

{

int s=0;

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

{

if(i%j==0)

s=s+j;

}

if(i==s)

printf("%d ",i);

}

getchar();

}

另外,要提醒一句,能少用变量就少用变量这是一个良好的习惯

每一个变量都是要分内存空间的

完全没看懂你是什么意思。是要求出1000以内的 完全数吗?

如果是为了实现这个目的,可以参考下面的程序

#include<stdioh>

void main()

{

int a,b,c;

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

{

c=0;

for(b=1;b<a;b++)

{

if(a%b==0)

{

c=c+b;

}

}

if(a==c)

{

printf("its factors is %d\n",a);

}

}

}

用C语言输出1000以内所有的完数步骤如下:

1、首先打开vc60,新建一个项目。

2、添加头文件。

3、添加main函数。

4、定义i,j,k,n,sum。

5、定义一个数组。

6、使用第一层for循环。

7、使用第二层for循环,用来求出每位的数字。

8、使用if条件判断语句。

9、运行程序看看结果。

以上就是关于c语言编程题 :判断一个数是不是完数全部的内容,包括:c语言编程题 :判断一个数是不是完数、C语言程序求完数、c语言:完全数程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10211847.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存