• java基础之完数判断


    完数:

    完全数(Perfect number),又称完美数完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”。


    下面性质来自百度百科大笑

    1.所有的完全数都是三角形数
    例如:
    6=1+2+3
    28=1+2+3+...+6+7
    496=1+2+3+...+30+31
    8128=1+2+3…+126+127
    2.所有的完全数的倒数都是调和数
    例如:
    1/1+1/2+1/3+1/6=2
    1/1+1/2+1/4+1/7+1/14+1/28=2
    1/1+1/2+1/4+1/8+1/16+1/31+1/62+1/124+1/248+1/496=2
    3.可以表示成连续奇立方数之和
    除6以外的完全数,都可以表示成连续奇立方数之和,并规律式增加。例如:
    28=1³+3^3
    496=1^3+3^3+5^3+7^3
    8128=1^3+3^3+5^3+……+15^3
    33550336=1^3+3^3+5^3+……+125^3+127^3
    4.都可以表达为2的一些连续正整数次幂之和
    不但如此,而且它们的数量为连续质数。例如:
    6=2^1+2^2
    28=2^2+2^3+2^4
    496=2^4+2^5+2^6+2^7+2^8
    8128=2^6+2^7+2^8+2^9+2^10+2^11+2^12
    33550336=2^12+2^13+……+2^24
    5.完全数都是以6或8结尾
    如果以8结尾,那么就肯定是以28结尾。(科学家仍未发现由其他数字结尾的完全数。)
    6.各位数字辗转式相加个位数是1
    除6以外的完全数,把它的各位数字相加,直到变成个位数,那么这个个位数一定是1。例如:
    28:2+8=10,1+0=1
    496:4+9+6=19,1+9=10,1+0=1
    8128:8+1+2+8=19,1+9=10,1+0=1
    33550336:3+3+5+5+0+3+6=28,2+8=10,1+0=1
    7.它们被3除余1、被9除余1、被27除余1
    除6以外的完全数,它们被3除余1、9除余1、还有被27除余1。
    28/3 商9,余1
    28/9 商3,余1
    28/27 商1,余1
    496/3 商165,余1
    496/9 商55,余1
    8128/3 商2709,余1
    8128/9 商903,余1
    8128/27 商301,余1
    代码:

    package day5;
    
    public class HomeWork_2 {
    	public static void main(String[] args) {
    		
    	for(int i=1;i<=1000;i++){//用于判断的数
    		int a=0;//用于接受完数的和
    		for(int j=1;j<i;j++){
    			if(i%j==0){
    				a+=j;
    			}
    		}	
    		if(a==i){//比较接受的完数和是否和原数相等,若相等则为完数
    			System.out.println("完数:"+i);//输出完数
    			}
    		}		
       }
    }
    


  • 相关阅读:
    mysql 允许远程登陆
    jade报错:unexpected token
    quartz定时任务
    Java调用脚本
    CentOS安装、卸载jdk
    CentOS系统没有javac命令
    IDEA Error:java: 未结束的字符串文字
    面试连环炮系列(三):synchronized怎么用的
    面试连环炮系列(二):你们的项目Redis做了集群部署吗
    面试连环炮系列(一):如何保证Redis高可用和高并发
  • 原文地址:https://www.cnblogs.com/jatpeo/p/11767622.html
Copyright © 2020-2023  润新知