用C语言编写一个输出100以内的完数的程序

用C语言编写一个输出100以内的完数的程序,第1张

请对比修改的地方:

#include"stdio.h"

main()

{int i,c,n=1,sum=0

for(i=1i<=100i++)

{c=i

for(n=1n<=i/2n++)

if(i%n==0) c=c-n

if(c==0)

{printf("%d\n",i)

sum++}

}

printf("100以内有%d个完数\n",sum)

}

class  forDemo2

{

public static void main(String[] args) 

{

int sum

int i=2

while(i!=1001)

{

sum = 0 //每次循环sum重新赋值为0

for(int j=1j<ij++)

{

if (i%j==0) sum+=j

}

if(i==sum) System.out.println(i+" ")

i++

}

}

}

/*完数,即完美数,一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如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=2i<=1000i++)

{

s=0//此处s=0一定要加,因为前几次循环的时候s的值已经改变

k=0

for(j=1j<ij++)

{

if((i%j)==0){a[k]=jk++}

}

for(h=0h<kh++)

{

s+=a[h]

}

if(i==s){printf("%d ",i)sum++}

}

printf("完数的个数:%d\n",sum)

}

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


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

原文地址: http://outofmemory.cn/yw/11007441.html

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

发表评论

登录后才能评论

评论列表(0条)

保存