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+"個完數!"); } }
以上所述就是本文的全體內容了,願望年夜家可以或許愛好。