当前位置:首页 » 编程语言 » 完全数怎么写c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

完全数怎么写c语言

发布时间: 2022-09-20 11:08:23

c语言求完数

/*完数,即完美数,一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3.(6的因子是1,2,3)*/
#include<stdio.h>
void main()
{
int i,j,k,h,s,sum;
int a[200];//20个是不够的
s=0;
sum=0;

for(i=2;i<=1000;i++)
{
s=0;//此处s=0一定要加,因为前几次循环的时候s的值已经改变
k=0;
for(j=1;j<i;j++)
{
if((i%j)==0){a[k]=j;k++;}
}
for(h=0;h<k;h++)
{
s+=a[h];
}
if(i==s){printf("%d ",i);sum++;}
}
printf("完数的个数:%d\n",sum);

}

时间太紧,没注意程序的简洁性和效率,这个需要你自己改了!

Ⅱ c语言 完全数

#include<stdio.h>
void main()
{
int i,n;
int s=0;
printf("input a number N(1<N<=10000)\n");
while(scanf("%d",&n)!=1) //scanf的返回值是成功读取的参数个数,输入某个字符就退出循环了
{
s=0; //每次都要清零
for(i=1;i<=n;i++)
if(n%i==0)
s=s+i;
if(s==n) //if/else语句应该放在while循环体内,每次循环都会读入一个数,每个数都要作判断
printf("yes\n");
else
printf("no\n");
}
}

Ⅲ 用C语言打印“完数”

// 本程序演示一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如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);
}

Ⅳ 用C语言编写“判断一个数是否为完数”!

1、首先打开C语言的编辑软件,这里是使用VS2017版,在c语言的文件中写入头文件和主函数备用:

Ⅳ C语言求完全数~~

#include<stdio.h>
void isPerfect(int m){ //定义判断一个数是否为完全数的函数isPerfect
int i,sum=0;
for(i=1;i<=m/2;i++){
if(m%i==0){
sum+=i;
}
}
if(sum==m){
printf("你输入的这个数是完全数\n");
}
else
printf("你输入的这个数不是完全数\n");
}
main(){
int a;
printf("请输入一个整数a:\n");
scanf("%d",&a);
isPerfect(a);//调用这个函数
}

Ⅵ c语言编写程序:求出1-100之间的完全数.所谓完全数是指这样的数,该数刚好等于

#include<stdio.h>

#defineMAX100/*100以内的完全数*/

intmain(void){
intx,temp,sum;/*X表示要判断的数,temp表示数的因子,sum表示因子之和*/

for(x=1;x<=MAX;x++){
sum=0;
for(temp=1;temp<x;temp++){/*判断x能否被temp整除,如果可以,则是因子,进行求和*/
if(x%temp==0)
sum=sum+temp;
}
if(sum==x)/*如果是完数,打印输出*/
printf("%d ",x);
}

putchar(' ');
fflush(stdin);
getch();
return0;
}

运行结果

Ⅶ c语言:完全数程序

如果想显示完全数的因子的话,用数组存储比较合适。你的程序有个逻辑错误。
if(a%b==0)你忘记还有自身也是自身的因子数,导致后面的判别式永远不成立,应改为
if(a%b==0&&a!=b)
自己改了下用数组的:
#include<stdio.h>
int
main()
{
int
k[20],a,b,c;
for(a=2;a<=1000;a++)
{c=0;
for(b=1;b<=a;b++)
{
if(a%b==0&&b!=a)
{
k[c]=b;
c++;
}
if(b==a){
int
num=0;
for(int
i=0;i<c;i++)
num=num+k[i];
if(num==a){
printf("%d
",a);
printf("its
factors
is
:
");
for(int
i=0;i<c;i++)
printf("%d
",k[i]);
printf("\n");
}
}
}
}
return
0;
}

Ⅷ 完美数 C语言编程

完美数(Perfect number),又称完全数或完备数,是一些特殊的自然数。该数所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于本身。如果一个数恰好等于它的因子之和,则称该数为“完美数”。


所以根据定义,可以得到判断完美数的程序:

intis_perfect_number(intn)//对n进行判断,如果是完美数,返回1,否则返回0.
{
intj,sum=0;
sum=0;
for(j=1;j<n;j++)//对每个小于n的正数进行遍历,
if(n%j==0)//如果是因子,
sum=sum+j;//累加到sum上。
returnsum==n;//返回结果。
}