javastudy-打印完数

    科技2022-07-21  118

    打印完数

    描述

    一个数如果恰好等于它的因子之和,这个数就成为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。编程序打印出1000之内(包括1000)所有的完数,并按如下格式输出其所有因子:6 its factors are 1,2,3

    输入

    无输入

    输出

    输出1000以内所有的完数及其因子,每行一个完数。

    代码

    import java.util.*; import java.math.*; public class Main { public static void main(String[] args) { for(int i = 6; i <= 1000; i++) { Main a = new Main(); if(a.check(i)) { int cnt = 0; int[] tmp = new int[1010]; System.out.print(i+" its factors are "); for(int j = 1; j < i; j++) { if(i%j==0) tmp[++cnt] = j; } for(int j = 1; j < cnt; j++) System.out.print(tmp[j]+","); System.out.println(tmp[cnt]); } } } public boolean check(int n) { int sum = 1; for(int i = 2; i < n; i++) { if(n%i==0) sum += i; } if(sum==n) return true; return false; } }
    Processed: 0.012, SQL: 8