2倍すると最後尾の数字が先頭に
ある長い数列があり、2倍すると最後尾の数字(8)が先頭に移動します。
自前で作成した C# の List Object Class を使って、元の数列を求めて表示して下さい。
前田稔(Maeda Minoru)の超初心者のプログラム入門


問題の説明
- 元の数列(桁数は不明)
2倍すると8が先頭に移動する
- 元の数列を2倍すると、最下位の桁が8なので積の最下位桁は6になることが解かるでしょう。
×2
- 積の最下位桁が6と言う事は、8の隣が6になります。
- ・・・68を2倍すると、6の隣は3なります。
この考え方を繰り返して行くと、やがて答えが求まります。
×2

プログラムの説明
- この問題では「答えが何桁になるか不明で」下位から一桁ずつ求まります。
また求めた答えは、求めた順とは逆に表示しなければなりません。
このようなときは List Object Class を使うのが便利です。
List Object Class の説明は List Object Class を参照して下さい。
- プログラムは難しくないので、すぐに作成できるでしょう。
注意しなければならないことは、8が現れたからと言ってすぐ完成したと早とちりしてはなりません。 (^_^;)
数式が成り立つようになるまで、きちんと計算して下さい。
C/C++ を使ったプログラムは 2倍すると最後尾の数字が先頭に を参照して下さい。

【演習】
最初の説明では2倍していますが、3倍,4倍,・・・,8倍でも同じように答えを求めることが出来ます。
また倍数によって数列の長さが大きく変わるので注意して下さい。
それでは「3倍~8倍」の場合の答えを求めて下さい。
数列が最も長くなるのは何倍のときで、何桁になるでしょう?。

前田稔(Maeda Minoru)の超初心者のプログラム入門

※・