程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> Basic求10000以內的完滿數

Basic求10000以內的完滿數

編輯:VB綜合教程

Basic求10000以內的完滿數。本站提示廣大學習愛好者:(Basic求10000以內的完滿數)文章只能為提供參考,不一定能成為您想要的結果。以下是Basic求10000以內的完滿數正文


完全數(Perfect number),又稱完滿數或齊備數,是一些特殊的自然數。它一切的真因子(即除了本身以外的約數)的和(即因子函數),恰恰等於它自身。

Dim a as Integer,b as Integer,c as Integer
For a = 1 To 10000
c = 0
For b = 1 To a \ 2
If a Mod b = 0 Then c = c + b
Next b
If a = c Then Print Str(a)
Next a

另附上java版的代碼

import java.util.ArrayList; 
public class T013 { 
  public static void main(String[] args){ 
    ArrayList p = new ArrayList(); // 保管每組的分解因子 
    int count = 0; // 計數(完數的總個數) 
    int sum;  // sum = (每個因子之和) 
    for(int i=2;i<10000;i++){  // 測試每個數 i 
      sum = 0; 
      for(int j=1;j<i/2+1;j++){ 
        if(i%j==0){  
          p.add(j);  // 保管 i 的每個因子 
          sum += j;  // 保管sum(i的一切因子相加之和) 
        } 
      } 
      if(sum==i){   // 假如以後 i 是完數,則輸入(i=一切因子之和) 
        count++; 
        System.out.printf("%4d"+" 是完數,因子是"+i+"=",i); 
        for(int k=0;k<p.size()-1;k++){ 
          System.out.print(p.get(k)+"+"); 
        } 
        System.out.println(p.get(p.size()-1)); 
      } 
      p.clear(); // 每個 i 完畢,清空數組,重計下一個i的因子。 
    } 
    System.out.println("\n共找到"+count+"個完數!"); 
  } 
} 

以上所述就是本文的全部內容了,希望大家可以喜歡。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved