完全数または完全数としても知られる完全数は、特殊な自然数です。すべての真の因数 (つまり、それ自体以外の約数) の合計 (つまり、因数関数) は、それ自体とまったく等しくなります。
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; total number) int sum; // sum = (各要素の合計) for(int i=2;i<10000;i++){ // 各数値 i sum = 0 をテストします。 j=1;j<i/2+1;j++){ if(i%j==0){ p.add(j) // i += j の各要素の合計を保存; i のすべての因数の合計) } } if(sum==i){ // 現在の i が完全数の場合、出力 (i=すべての因数の合計) count++; 「+」は完全数の場合、因数は "+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+" 個の完全な数を見つけました!"); } }
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。