
完全数とは,その数を除く約数の和がその数と等しい自然数のことである.
例えば,6 の約数は,1, 2, 3, 6 であるが,6 以外の約数の総和は
1 + 2 + 3 = 6 となるので,6 は完全数である.
標準入力から自然数 n を入力すると,
n 以上で最小の完全数 m を表示して改行し,
次の行に m の m 以外の約数を空白区切りで小さい順に表示する
ruby プログラムを作成せよ.
例えば,5 を入力した場合は
6
1 2 3
と表示し,100 を入力した場合は
496
1 2 4 8 16 31 62 124 248
と表示する.
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
print("Number: ")
n = STDIN.gets.to_i
while(true)
factors = []
(1...n).each do |p|
factors.push(p) if n % p == 0
end
break if factors.inject(:+) == n
n += 1
end
puts n
print factors.join(" ")
puts
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数字以外が入力されたらエラー...
-
プログラミング初心者です。 Py...
-
漢字のソートについて
-
4桁の数字以外を入力したらエラ...
-
C言語について
-
入力候補を表示させるには・・・?
-
C言語で、ioctlを使用し入力待...
-
UWSCで変数をキー入力
-
Eclipseでコマンドラインを入力...
-
Excel VBAで、Application.Inpu...
-
Javaの質問です
-
アセンブリ言語の質問です。808...
-
Linuxで入力待ちなしkeyread関...
-
cout関数を使っているのですが...
-
正負を反転させて出力するプロ...
-
*をユーザーが入力した数字の数...
-
キーボード入力の終了につきま...
-
数当てゲーム
-
C言語の文字列の長さを計算し表...
-
enterでループ終了
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
数字以外が入力されたらエラー...
-
java初心者です。入力されたの...
-
Eclipseコンソール表示を、リセ...
-
正負を反転させて出力するプロ...
-
プログラミング初心者です。 Py...
-
scanfが2回使えない・・・?;
-
Excel VBAで、Application.Inpu...
-
"scanf"でエンターで改行させな...
-
scanf が無視されます
-
C言語 逆ピラミッドの作り方
-
プログラミングの問題です 「金...
-
if文の条件にscanf関数を使うと…?
-
C言語でgetchar();が上手く使え...
-
UWSCで変数をキー入力
-
4桁の数字以外を入力したらエラ...
-
EDITコントロールで入力できる...
-
C言語でつるかめ算をするにはど...
-
Userformの入力順序をタブオー...
-
C言語scanf_sで何故か2回入力に...
おすすめ情報