二重ループ

二重ループの例題をあげてみます。プログラミング基礎9の完全数チェックを題材に考えます。
このプログラムでは、整数の値を入力してもらい、それが完全数かを調べるプログラムでした。
今回は、完全数を探索するプログラムに修正します。

1

どの変数が何を表しているのか考えてみましょう。

↓↓続きから↓↓
 
次に、最大値を探索することを考えます。計算で求めるときにも使えます。整数に対する次のような変換を考えます。
 
2
任意の自然数nに対してこの関数による変換を繰り返すと、必ず1になることが知られています。(残念ながら、数学的には証明されていません。)

3
この例では1になるまでに7回の変換が行われています。
1になるまでの変換回数が最も多い数値を調べるプログラムを作ります。

4
実行例
5

では演習です。

演習


○100未満の自然数のうち、約数の和が最大になるものはどれか、また、約数の和はいくつであるかを探索するプログラムを作成しなさい。

解答例





↓ 
 
6



スポンサーリンク