欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Basic求10000以內(nèi)的完美數(shù)

 更新時間:2015年05月18日 11:28:25   投稿:hebedich  
一個數(shù)的所有真因數(shù)加起來正好等于這個自然數(shù)本身,在數(shù)學(xué)上,具有這種性質(zhì)的自然數(shù)叫做完全數(shù)。關(guān)鍵是求出該自然數(shù)k的所有因子。如果k%i為0,則i為k的因子,用循環(huán)語句求出k 的所有真因子(1<=i<=k/2),把它們求和,看是否等于k來判斷。

完全數(shù)(Perfect number),又稱完美數(shù)或完備數(shù),是一些特殊的自然數(shù)。它所有的真因子(即除了自身以外的約數(shù))的和(即因子函數(shù)),恰好等于它本身。

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; // 計數(shù)(完數(shù)的總個數(shù)) 
    int sum;  // sum = (每個因子之和) 
    for(int i=2;i<10000;i++){  // 測試每個數(shù) 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){   // 如果當(dāng)前 i 是完數(shù),則輸出(i=所有因子之和) 
        count++; 
        System.out.printf("%4d"+" 是完數(shù),因子是"+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 結(jié)束,清空數(shù)組,重計下一個i的因子。 
    } 
    System.out.println("\n共找到"+count+"個完數(shù)!"); 
  } 
} 

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

相關(guān)文章

最新評論