はじめに
本記事では、私が本日取り掛かった問題を備忘録として記述します。
内容
1111111111の約数で、1111以下の約数を足す。
divisor = 約数 by Google先生
divisors.rb
def divisors(num, limit)
(1..limit).select{ |i| num % i == 0 }.sum
end
puts divisors(1111111111, 1111)
1~limitまでの約数で (1..limit)
、
今回の数字(1111111111)がi(ある数)で割ると0になるもの達の.select{ |i| num % i == 0 }
、
合計.sum
を出す。
ターミナル上にて、
% ruby divisors.rb
775
775
が答えです。
なるほど、プログラミングすごい。w
終わりに
このような数学の問題、解く分には好きなんですが、
如何せん実力不足の知識不足で、40,50分ぐらいかかります。
もっと経験して、解けるようにしたいと思います。
諦めないことが大事ですね。
以下参考サイトです。というかすごく勉強になりました。ありがとうございます。
【Ruby】ある整数の約数(要素の数、和)を求める
Rubyで1234567890の約数の内、30000000以下の約数を足す
明日も頑張ります!!