問題
7以上7777777以下の7の倍数を全て書き出したとき、数字「7」は何回現れるかをRubyを使って出力したいです。
こちらの正解は777784のようですが、下記の記述だと579671になってしまいます。
おそらく「77」や「777」を「2」「3」とカウントせずに「1」とカウントしているためだと思います。
該当のソースコード
ruby
1def create_number(number) 2 number_list = [] 3 for i in 1.upto(number) do 4 if (i % 7 == 0 ) 5 number_list.append(i) 6 end 7 end 8 return number_list.count{|i| i.to_s.include?("7")} 9 # return number_list 10end 11 12puts "#{create_number(7777777)}"
number_list.count{|i| i.to_s.include?("7")}
で7のつく数字を数えていますが、
「77」や「777」を「2」「3」とカウントできるような記述があればご教授いただけると幸いです。
回答2件
あなたの回答
tips
プレビュー