1 问题
如何利用Java判断一个数是否为“完数”?
2 方法
1、需要了解什么是完数,即完数数的概念。完数即完全数,又称完美数或完备数,是一些特殊的自然数。它所有的真因子的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”。 第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8128、33550336等等。
如果一个数恰好等于它的因子之和,则称该数为"完全数"。各个小于它的约数(真约数,列出某数的约数,去掉该数本身,剩下的就是它的真约数)的和等于它本身的自然数叫做完全数(Perfect number),又称完美数或完备数。
例如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。第三个完全数是496,有约数1、2、4、8、16、31、62、124、248、496,除去其本身496外,其余9个数相加,1+2+4+8+16+31+62+124+248=496。后面的完全数还有8128、33550336等等。
2、for循环的语句实现功能
3、输出n,最后调整样式。
代码清单 1
package exprience; //判断一个数是否为完数 import java.util.Scanner; public class Forweek { public static void main(String[] args) { System.out.println("请输入一个数字:"); Scanner a=new Scanner(System.in); int num=a.nextInt(); int sum=0; for(int i=1;i<num;i++){ if((num%i)==0){ sum=sum+i; } else{ sum=sum; } } if(sum==num){ System.out.println(num+"是一个完数"); } else{ System.out.println(num+"不是一个完数"); } } } |
3 结语
以上是关于如何使用Java判断一个数是否为完数的方法,针对判断完数的问题,运用java的分支结构语句、循环结构语句,通过几次实验改进,完善程序,证明该方法是有效的,此代码还有其他while循环打印方法,此程序还有更多方法待试验。
扫描二维码关注公众号,回复:
17411040 查看本文章