|
「数学」小旅行 |
|
ルビーでやってみると、
#約数の配列を求める関数を作成して def me(i) m=[] 1.upto(i){|x|if i%x==0 then m.push x end} m end #ア、イ、ウの数の候補の配列をそれぞれa,b,cとして、 a=me(3*2*5**2).map{|x|x*14} b=me(2*5).map{|x|x*14*15} c=me(7*2**2*5).map{|x|x*15} #アとイの公約数の配列の5番目が14になるものを出力 a.each{|x|b.each{|y|me(x).intersection(me(y))[4]==14?(p x,y):0}} #イとウの公約数の配列の5番目が15になるものを出力 b.each{|x|c.each{|y|me(x).intersection(me(y))[4]==15?(p x,y):0}} で、次のようになりました。 ア、イとして 28,420と28,2100 イ、ウとして 210,105 210,525 420,105 420,525 1050,105 1050,525 2100,105 2100,525 あれっ、イとウの公約数15が5番目だという条件が要らないかも??? どこかまちがえたのな??? |
|
3月17日(木) 8:38:21
51371 |