1を作る問題
答えは
第1項は3/4、後ろ2項は通分して足すと17/68 = 1/4。
Javascriptで解こうと思ったけど技量不足でできず
(順列のリストが作れなかった)、
数学ツールの使えるPythonで解いた。
コードはこんな感じ。
import itertools ←数学モジュール呼び出し
list = [1,2,3,4,5,6,7,8,9] ←使う数字のリスト
p = itertools.permutations(list, 9) ←順番を入れ替えた順列のリスト
for v in p: ←全ての順列について計算
(a,b,c,d,e,f,g,h,i) = v
k = a/(10*b+c)+d/(10*e+f)+g/(10*h+i)
if k == 1: ←答えが1だったらその順列を出力
print(v)
出力はこんな感じ。分数の順番が変わるだけで、基本は一緒。
=====
(5, 3, 4, 7, 6, 8, 9, 1, 2)
(5, 3, 4, 9, 1, 2, 7, 6, 8)
(7, 6, 8, 5, 3, 4, 9, 1, 2)
(7, 6, 8, 9, 1, 2, 5, 3, 4)
(9, 1, 2, 5, 3, 4, 7, 6, 8)
(9, 1, 2, 7, 6, 8, 5, 3, 4)
=====
前のページへ
プログラミング練習部屋へ