過去ログ

「数学」小旅行
ルビーでやってみると、
#約数の配列を求める関数を作成して
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

過去問題一覧へ戻る