😊

nの倍数を全て書き出した時にnは何回現れるか出力

2025/01/16に公開

問題: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