Java编程第四周实验报告1

实验目的:

若一个自然数,它所有的真因子(即除了自身以外的约数)的和恰好等于它本身,这种数叫做完全数。简称“完数”
  例如,
  6=1+2+3 
  28=1+2+4+7+14
  496=1+2+4+8+16+31+62+124+248
  8128=1+2+4+8+16+32+64+127+254+508+1016+2032+4064
编写一个Java程序,输出任意数之间的所有完数。

实验代码:

public class shiYan1 {
	public static void main(String[] args) {
		
		for(int i = 1; i < 10000; ++i) //求10000以内的完全数
		{
	             int sum = 0;
			
		    for(int j = 1; j < i; ++j)
		    {
		         if(i % j == 0)  //求真因子
			{
					sum = sum + j;
			}
		    }
		    if(sum == i)  //比较
		     {
	                  System.out.println(i);
		    } 
	         }
	}
}


实验结果:

6
28
496
8128

 

实验心得:

怎么说那,看似挺简单的,可是编写起来到没有想象的得心应手,看来是自己颓废的太久,写代码的感觉都已经生疏了。代码本身那,倒是没什么,就是求真因子的一个循环罢了,和上学期后阶段编写的程序比较,没有什么难度,当然,Java也只是刚刚起步,这也是应该的。总之,没什么太需要注意的,毕竟除了格式稍有区别之外,函数体中的语句都和C++没什么区别。还好还好!!

你可能感兴趣的:(Java编程第四周实验报告1)