zoukankan      html  css  js  c++  java
  • Java基础50题test9—求完数

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

     1 /*
     2  * 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如 6=1+2+3.编程找出 1000 以内的所有完数。 
     3  * 
     4  * 本题的关键是求出选取数值i的因子,即从1到i-1范围内能整除i的数,看某一个数j是否为i的因子,
     5  * 可利用语句if(i%j==0)进行判断,求某一个数的所有因子,需要在1到i-1范围内进行遍历,同样
     6  * 釆用循环实现。因此,本题从整体上看可利用两层循环来实现。外层循环控制该数的范围2?n;内层循
     7  * 环j控制除数的范围为1?i,通过i对j取余,是否等于0,找到该数的各个因子
     8  */
     9 public class Test9{
    10 
    11     public static void main(String[] args) {
    12         int s = 0;
    13         for(int i = 2;i<1000;i++)
    14         {
    15             s=0;
    16             for(int j=1;j<i;j++)
    17             {
    18                 if(i%j==0)
    19                     s+=j;//因数之和
    20             }
    21             if(s==i)
    22             {
    23                 System.out.println(i);
    24             }
    25         }
    26 
    27     }
    28 
    29 }
  • 相关阅读:
    C++类模板的三种特化
    构造函数抛异常
    ScrapySharp
    QtWebKit
    visual studio 插件
    asp.net 开源
    cfr
    eclipse icon
    JAD Java Decompiler
    Java Decompiler
  • 原文地址:https://www.cnblogs.com/zynevergiveup12/p/11145409.html
Copyright © 2011-2022 走看看