😊
nの倍数を全て書き出した時にnは何回現れるか出力
問題:7以上7777777以下の7の倍数を全て書き出したとき、数字「7」は何回現れるかRubyを使ってプログラムを書き出してください
# 範囲を指定
range = (7..7777777)
# 7の倍数を取得
multiples_of_7 = range.select { |num| num % 7 == 0 }
# 数字「7」の出現回数をカウント
count_of_7 = multiples_of_7.join.chars.count { |char| char == '7' }
# 結果を出力
puts "数字「7」の出現回数: #{count_of_7}"
コードの解説
範囲の指定 (range = (7..7777777))
数値の範囲を指定します。この範囲内で7の倍数を調べます。
7の倍数を取得 (range.select { |num| num % 7 == 0 })
selectメソッドを使用して、範囲内で7で割り切れる数(7の倍数)だけを抽出。
数字「7」の出現回数をカウントします。
抽出した7の倍数をjoinで1つの文字列に結合します。
charsで文字列を1文字ずつの配列に分割します。
count { |char| char == '7' }で「7」に一致する文字をカウントします。
結果の出力
最終的にputsで「数字「7」の出現回数」を表示します。
Discussion