zoukankan      html  css  js  c++  java
  • 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);//输出完数
    			}
    		}		
       }
    }
    


  • 相关阅读:
    SQL对Xml字段的操作
    五种常见的ASP.NET安全缺陷
    EntityFramework中常用的数据删除方式
    002_ASP.NET 换主题
    001_ASP.NET MVC 实用教程 论坛项目 北盟网校 原创视频教程
    LINQ to Entities 比较日期
    windows10多桌面创建 切换 和分屏
    winform的combox下拉框绑定数据源
    C# 怎么让winform程序中的输入文本框保留上次的输入
    dos 批量重命名 bat
  • 原文地址:https://www.cnblogs.com/jatpeo/p/11767623.html
Copyright © 2011-2022 走看看