2520 は 1 から 10 の数字の全ての整数で割り切れる数字であり, そのような数字の中では最小の値である.
では, 1 から 20 までの整数全てで割り切れる数字の中で最小の正の数はいくらになるか.
A.
考え方としては候補の数のうちより大きい数の約数になるものを除外したものの積を求めるか?
1..10だと
6x7x8x9x10=... 上手くいかない
構成する数を素因数分解して各素数の出現回数の最大を掛けるか?
解説を見てしまった。
結局、これは各々の数の最小公倍数を順に求めるということに置き換わるようだ
n=1;(1..20).each{|i| n = n.lcm(i)};puts n か? 答えは232792560
0 件のコメント:
コメントを投稿