龙空技术网

Java练习:求1000以内的完数、1+2+3加到n小于8888的最大正整数n

曾也疯 72

前言:

现时各位老铁们对“java 完美数”大概比较重视,同学们都需要了解一些“java 完美数”的相关文章。那么小编在网络上收集了一些对于“java 完美数””的相关文章,希望小伙伴们能喜欢,你们一起来了解一下吧!

求1000以内的所有完数

完全数,又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”。第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8128、33550336等等。

public class demo49_4_4 { 	public static void main(String[] args) {		int i,j;		System.out.println("1000以内的完数有:");				for(i=1;i<=1000;i++) {			int sum=0;			for(j=1;j<i;j++) {				if(0==i%j)					sum = sum+j;			}			if(i==sum)				System.out.print(i+" ");		} 	} }

结果为:

1000以内的完数有:

6 28 496

输出满足1+2+3+...+n小于8888的最大正整数n

输出满足1+2+3+...+n<8888的最大正整数n

public class demo49_4_6 { 	public static void main(String[] args) {		int n=0,sum=0;		while(sum<8888) {			n = n+1;			sum = sum+n;		}		System.out.println(n); 	} }

结果为:

133

标签: #java 完美数