完数:

完全数(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);//输出完数
}
}
}
}

java基础之完数判断的更多相关文章

  1. java基础——回文数判断

    /** * 题目描述: * 有这样一类数字,他们顺着看和倒着看是相同的数,例如:121,656,2332等,这样的数字就称为:回文数字.编写一个函数,判断某数字是否是回文数字. * 要求实现方法: * ...

  2. java程序设计之完数

    题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程 找出1000以内的所有完数. 解题过程也很简单: public class wanshu { ...

  3. Java基础(六)判断两个对象相等:equals、hashcode、toString方法

    1.equal方法 Object类中的equal方法用于检测一个对象是否等于另外一个对象.在Object类中,这个方法将判断两个对象是否具有相同的引用.如果两个对象具有相同的引用,它们一定是相等的.然 ...

  4. Java基础(变量数&常量&据类型&类型转换)

    什么是变量: 变量就是一个不固定的数值,它随时会改变,就像银行卡里存的钱一样会变动. 变量的格式:1  数据类型 变量名=变量值:  2  数据类型 变量名: 变量名=变量值: 变量的三大要素:1变量 ...

  5. Java基础07-随机数

    第一种方法:导入java.util.Random; import java.util.Random; public class Test1{ public static void main(Strin ...

  6. java基础之----非空判断

    大家好,第一次写博客,一直想写博客,用于自我总结,也用于帮助新同学成长. 平常我们开发的时候,用到很多非空判断,但是很多同学用到的地方不是很准确,这里,我把自己平时遇到的坑跟大家说说.我废话不多,只想 ...

  7. Java基础——自己的总结

    Java Java是什么? Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作 ...

  8. 中国MOOC_零基础学Java语言_第7周 函数_2完数

    2 完数(5分) 题目内容: 一个正整数的因子是所有可以整除它的正整数.而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数.例如6=1+2+3(6的因子是1,2,3). 现在,你要写一个程序, ...

  9. JAVA 基础编程练习题9 【程序 9 求完数】

    9 [程序 9 求完数] 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如 6=1+2+3.编程找出 1000 以内的 所有完数. package cskaoyan ...

随机推荐

  1. centos7.3更换ssh默认登陆端口

    说明:本方法目前通用于7.1-7.3 vim /etc/ssh/sshd_config 找到Port 22下面添加一行:Port 12345保存退出. systemctl restart sshd.s ...

  2. lunix查询jdk安装路径

    在linux系统查找jdk的安装路径:whereis javawhich java (java执行路径)echo $JAVA_HOME echo $PATH在windows查找jdk的安装路径:set ...

  3. BZOJ2152 聪明可可 点分治

    题意传送门 思路:基本的点分治思路,num数组记录从u点开始路径长度分别为1或者2或者3的路径长度(取模3意义下),然后做一个简单的容斥就好了. 为了避免计数的麻烦,<u,u>这样的点单独 ...

  4. LeetCode动态规划题总结【持续更新】

    以下题号均为LeetCode题号,便于查看原题. 10. Regular Expression Matching 题意:实现字符串的正则匹配,包含'.' 和 '*'.'.' 匹配任意一个字符,&quo ...

  5. mysql双主热备

    先搭建mysql主从模式,主从请参考mysql 主从笔记 然后在在配置文件里添加如下配置 1 log_slave_updates= #双主热备的关键参数.默认情况下从节点从主节点中同步过来的修改事件是 ...

  6. 【JZOJ4905】【BZOJ4720】【luoguP1850】换教室

    description 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程.在可以选择的课程中,有2n节课程安排在n个时间段上.在第i(1≤i≤n)个时间段上,两节内容相同的课 ...

  7. 解析Mybatis入门第二天

    入门第二天 目的:使用Mybatis对数据库中的数据进行简单的操作.例如:增.删.改.查. 前言:同样是使用idea创建一个普通的maven工程(如何创建一个普通的Maven工程可以参考入门第一天的详 ...

  8. Windows start

    启动一个单独的窗口以运行指定的程序或命令. START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]   ...

  9. js 实现 map 工具类

    /* * MAP对象,实现MAP功能 * * 接口: * size() 获取MAP元素个数 * isEmpty() 判断MAP是否为空 * clear() 删除MAP所有元素 * put(key, v ...

  10. Heartbeat基本介绍----HA / vmware HA FT

    Heartbeat是High-Availability Linux Project (Linux下的高可用性项目)的产物,是一套提供防止业务主机因不可避免的意外性或计划性宕机问题的高可用性软件.Hea ...