需求:
一个数如果恰好等于它的因子之和, 这个数就称为”完数”. 例如 6 = 1+2+3。编程找出 1000 以内的所有完数。

分析:
一千个数肯定跑不了循环的使用,常用的循环有两个,一个是for ,一个是while,因为这里知道次数,所以优先选择for循环;

其次考虑到因子,因子需要用被除数除以除数,显然这个时候被除数是不变的,而除数是一直在变化的,结合这个特点,就应该想到循环的嵌套,外面的走一次,里面的走一遍。

再通过if判断语句就可以找到,被除数的所有真因子,再根据“完数”的定义: 进行比较,得出结果,那好,我们用代码试一下:

public static void main(String[] args) {//  遍历所有的被除数for (int i = 1; i < 1000; i++) {// 用于存储各个符合因子的和int sum = 0;// 遍历小于被除数的所有因子for (int j = 1; j < i; j++) {// 判断是否为被除数的因子if (i % j == 0) {// 是的话就加起来,好与被除数作比较sum += j;}}// 当内层循环结束,可以得到所有的真因子的和再和被除数比较,输出if (sum == i ) {System.out.println(i);}}
}

得到结果:

6
28
496

路虽远,行则将至;事虽难,作则必成;

java求1000以内的完数及分析相关推荐

  1. java求1000以内所有完数

    这回是java编写,求1000以内所有完数. 完数:一个数如果恰好等于除它本身外的因子之和,这个数就称为完数. 例:6=1+2+3(6的因子是1,2,3). public class java7{ p ...

  2. java求1000以内的完数(方法)

    完数即完全数,又称完美数或完备数,是一些特殊的自然数.它所有的真因子的和(即因子函数),恰好等于它本身.如果一个数恰好等于它的因子之和,则称该数为"完全数".第一个完全数是6,第二 ...

  3. JAVA 求1000以内的完数

    一个数如果恰好等于它的因子之和,这个数就成为完数.编写应用程序求1000之内的所有完数. public class Hello { public static void main(String[] a ...

  4. java蓝桥杯算法训练 求1000以内的完数(题解)

    试题 算法训练 求1000以内的完数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为"完数". ...

  5. 求 1000 以内的完数

    求 1000 以内的完数 完数:完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数.它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身.例如:6 = ...

  6. “完数”问题 求1000以内的完数

    一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程 找出1000以内的所有完数.(因子:除去这个数本身的其它约数) 一般解法: class Numpra ...

  7. C#求1000以内的完数

    1000以内的完数 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数.它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身.如果一个数恰好等于它的因子 ...

  8. Java输出1000以内的完数(完数是恰好等于它的因子之和)

    一个数恰好等于他的因子之和,那么这个数就是完数,因子就是所有可以整除这个数的数,不包括这个数本身. 要求1000以内的完数,只要将一个数的因子求出来,加起来,比较下.上代码 /*** */ packa ...

  9. python 求1000以内的完数

    一个数如果恰好等于它的因子之和,这个数就称为"完数". 例如6=1+2+3.编程找出1000以内的所有完数. count = 0 for i in range(1,1001):li ...

最新文章

  1. 如何检查jQuery中是否已选中复选框?
  2. CentOS 6.9编译安装新版本内核
  3. Javascript返回顶部和砸金蛋,跑马灯等游戏代码实现
  4. [Spring+Hibernate系列] 3.开发环境快速Ant 部署
  5. 第一个神经网络代码分享
  6. 分享几个有趣的Python小项目
  7. 【每日一题(26)】初等排序算法(3) 插入排序 希尔排序 (更正)
  8. 计算机中算术逻辑单元负责,算术逻辑单元可实现 算术逻辑单元的发展
  9. linux配置文件前面有分号,linux中的分号 ||
  10. Educoder Python顺序结构习题
  11. 第一次系统发版的过程(一)
  12. 【Matlab】数学建模_变异系数法
  13. EditPlus下载安装及使用
  14. OOM以及垃圾收集器
  15. 修改vscode终端字体
  16. Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade问题和原因
  17. 公需科目2020快速学习_2021公需科目快速学习方法
  18. 安卓系统dicom阅读器_0元车又来了!柠檬M1阅读器上手体验,180天打卡免费领
  19. 利用C语言编写放烟花的程序(同时也可以播放音乐)
  20. CCNA路由器及通信

热门文章

  1. 门禁上的push是什么意思_门禁的NC、NO、COM、PUSH等一系列符号的含义是什么?
  2. 热狗生产者消费者问题
  3. vs2019运行asp.net framework(c# 基础) 排课系统的完整步骤
  4. SolidWorks 2010 SP0.0 三维机械设计
  5. 良心安利万向轮 SolidWorks模型素材网站
  6. Caused by: java.io.IOException: On-disk size without header provided is 6, but block header contains
  7. 今天收到了华为的录取通知
  8. 视频教程-C语言程序设计--进阶篇教学视频-C/C++
  9. 现代数值分析 matlab,现代数值分析(MATLAB版)
  10. JAVA9 新特性 完整使用