完全數(Perfect number),又稱完美數或完備數,是一些特殊的自然數。它所有的真因子(即除了自身以外的約數)的和(即因子函數),恰好等於它本身。
Dim a as Integer,b as Integer,c as IntegerFor a = 1 To 10000c = 0For b = 1 To a / 2If a Mod b = 0 Then c = c + bNext bIf 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+"個完數!"); } }
以上所述就是本文的全部內容了,希望大家能夠喜歡。