java起步——求完全數 – JAVA編程語言程序開發技術文章

2012-09-22 16:43 112人閱讀 評論(0) 收藏 舉報
/*
* 程序的版權和版本聲明部分
* Copyright (c) 2011, 煙臺大學計算機學院學生
* All rights reserved.
* 文件名稱:                             
* 作    者:        張傳新                    
* 完成日期:2012 年09 月22日
* 版 本 號:  J.1.04    
* 對任務及求解方法的描述部分
* 輸入描述:
* 問題描述:若一個自然數,它所有的真因子(即除瞭自身以外的約數)的和恰好等於它本身,這種數叫做完全數。簡稱“完數”
  例如,
  6=1+2+3 
  28=1+2+4+7+14
  496=1+2+4+8+16+31+62+124+248
  8128=1+2+4+8+16+32+64+127+254+508+1016+2032+4064
* 程序輸出:編寫一個Java程序,輸出任意數之間的所有完數。
* 問題分析:求一個數的回文數,要求這個數的約數相加之和等於本身。
* 算法設計:首先要定義求所求數的約數的函數,然後將約數相加,再與其本身比較,判斷結果。。。
*/
[java] 
<span style="font-size:14px;"> 
public class TestComNum { 
 
    /**
     * @param args
     */ 
    public static void main(String[] args) { 
        // TODO Auto-generated method stub 
        printComNum(1000); 
    } 
    static void printComNum(int n){ 
        for(int i = 1; i <= n;i++){ 
            int s = 0; 
            for(int j = 1;j < i;j++){ 
                if(i % j == 0){ 
                    s = s + j; 
                } 
            } 
            if(s == i){ 
                System.out.println(i+"是完全數…"); 
            } 
        } 
    } 
}</span> 
運行結果:
6是完全數…
28是完全數…
496是完全數…

經驗積累:從現在起養成良好的變成習慣,不要忙著敲代碼,分析問題和構建框架更重要!!!

發佈留言