主页 > 微评测 >C语言编程求出1000以内的完全数(详细讲解一下思路)

C语言编程求出1000以内的完全数(详细讲解一下思路)

作者: 时间:2020-07-04 875° 微评测
C语言编程:求出1000以内的完全数(详细讲解一下思路)
#include
main()
{
int i,j,sum;
for(i=2;i<1000;i++) //完全数i的范围2-1000
{
sum=0;
for(j=1;j<=i/2;j++) //求i的因子,j<=i/2为了减少循环次数
{
if(i%j==0) //如果i除以j的为0,就说明是因子
sum=sum+j;//求因子的和
}
if(sum==i) //如果因子等于i,就说明是完全数
printf("%4d",i); //输出i
}
}#include
void main()
{
int i,j;

int sum;
for(i=2;i<1000;i++)
{
sum=0;
for(j=1;jif(i%j==0)
sum=sum+j;

if(sum==i)
printf("%d是\n",sum);
}

}#include
void main() 
main()
{   
int i,j,sum;  
for(i=2;i<1000;i++)  
{   
sum=0;   
for(j=1;j<=i/2;j++)   
{
if(i%j==0)   
sum=sum+j;
}   
if(sum==i)   
printf("%4d",i);   
}   
}main()
{
int m,i,j,s;
for(m=6;m<1000;m++)
{
s=m-1;
for(i=2;iif(m%i==0)
s=s-i;
if(s==0)
{
printf("%5d its fastors are 1 ",m);
for(j=2;jif(m%j==0)
printf("%d ",j);
printf("\n");
}
}
}
用C语言编程求完数
那叫完全数,这题可以用三重循环解决,外环一个一个找数,内环试验是否全部能整除,中环试验加起来是不是那个数,麻烦得很#include
void main()
{
int k[10];
int i,j,n,s;
for(j=2;j<=1000;j++)
{
n=-1;
s=j;
for(i=1;i{
if((j%i)==0)
{
n++;
s=s-i;
k[n]=i;/*将每子赋给k0,k1...k9*/
}
}
if(s==0)
{
printf("%d一个完,它的因子是:",j);
for(i=0;iprintf("%d,",k[i]);
printf("%d\n",k[n]);
}
}
}/*1-1000的完数*/
#include
#define MAX 1000
void main()
{
int i, Num, j;
for(Num = 1; Num <= MAX; Num++)
{
i=0;
for(j = 1; j < Num; j++)
if ((Num % j) == 0)
i = i + j;
if(Num == i)
printf("%d\n",Num);
}
}本回答被提问者采纳
c语言完数判断
#include

void iswanshu(int x);

void main()

{

int a;

printf("是否是完数:\n请输入一个整数:");

scanf("%d",&a);

iswanshu(a);//调用数

}

//定义一个判断是否数的函数

void iswanshu(int x)

{

int i,k;

for(i=1;i
{

if (x%i=0) k=k+i;//如果被判断的那个数整除i余数为0则累加到k

}

//如果k等于x那输出的数就是完数

if(k=x)

{

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

printf("%d=1",x);

for(i=2;i
{

if (x%i=0) printf("+%d",i);

}

printf("\n");

}

else

printf("%d不是完数!",x);

}已经有无数的一样的问题了
并且也有无数一样的代码的
c语言程序设计。输入一个正整数n,输出2到n间的所有完数。
c语现如下:
#include
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是一个完全数。

#includevoid main(){int i,j,s,n;scanf("%d",&n);for(i=2;i<=n;i++){ s=1; for(j=2;j<=i/2;j++)if(i%j==0)s+=j; if(s==i)printf("%8d",i);}printf(" ");getch(); return 0;}

完数是什么意思追答

int a;
sanf("%d",&a);
for(int i = 2; i {
printf("out = %d\n", i);
}#include
int main()
{int i,j,s,N;
scanf("%d",&N);
for(i=2;i<=N;i++)
{
s=1;
for(j=2;j<=i/2;j++)
if(i%j==0)
s+=j;
if(s==i)
printf("%d\n",i);
}
return 0;
}

上一篇:
下一篇:

中国食品科技网|广州友邦资讯科技招聘|深圳科技资讯|网站地图