Q&A
実現したいこと
ruby 初学者です
問題を解いてるのですが手詰まりでどうしてもうまくいきませんので
どなたかご教授ください。
問題は以下です。
あなたは自分のウェブサイトでプレゼント企画を実施しました。
プレゼントには A と B の二種類があります。
当選者は以下の条件に従って、選出されます。
・整数 X の倍数番目の応募者はプレゼント A の当選者とする
・整数 Y の倍数番目の応募者はプレゼント B の当選者とする
応募者の数が与えられるので、各応募者のプレゼント当選情報を出力してください。プレゼント A と B の両方当選した人は AB、A だけ当選した人は A、B だけ当選した人は B、どちらも当選してない人は N を出力してください。
入力例 1 の場合、応募者の人数は 5 人なので、5 人の当選情報を出力します。プレゼント A の当選者は、2 の倍数番目の応募者で、プレゼント B の当選者は 4 の倍数の当選者なので、2 番目の応募者は A、4 番目の応募者は AB となり、それ以外の応募者は N になります。
前提
入力は以下のフォーマットで与えられます。
N X Y
・1 行目にはそれぞれ整数 N, X, Y がこの順で半角スペース区切りで与えられます。これらは応募者が N 人であることを示し、X の倍数番目の応募者がプレゼント A の当選者となり、Y の倍数番目の応募者がプレゼント B の当選者となることを示します。
・入力は 1 行となり、末尾に改行が 1 つ入ります。
それぞれの値は文字列で標準入力から渡されます。
該当のソースコード
下記のコードを書いたのですがどうしても最後の行に、Nのに該当する数字が出力されてしまいます。
N, X, Y = gets.split(' ').map(&:to_i)
for i in 1 .. N do
if
i % X ==0 && i % Y == 0
puts "AB"
elsif
i % X != 0 && i % Y != 0
puts "N"
elsif
i % X == 0
puts "A"
else
i % Y == 0
puts "B"
end
end
puts i
初歩的な質問で申し訳ないですがご回答いただけると幸いです。
回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2023/03/24 12:19
2023/03/24 13:23