京都大学の大学祭のカウントダウン
京都大学で面白い立て看板があったそうです。
式の数字の部分は固定で、+-×÷だけが変えられるようになっている。
毎朝、前を通る度に「ほえ~」と感心している。さて明日は……? pic.twitter.com/W7ogjjzvOz— 田中 草大 (たなか そうた) (@_sotanaka) October 21, 2022
第64回ということで、6,4,5,2,1の順番を変えずに四則演算だけで32から0までカウントダウンしようということのようです。
調べてみました。
Pythonで虱潰しをやってみると次のようになりました。
0 6+4-5*2*1
1 6+4-5*2+1
2 6+4-5-2-1
3 6+4-5-2*1
4 6+4-5-2+1
5 6-4+5-2*1
6 6+4-5+2-1
7 6+4-5+2*1
8 6+4-5+2+1
9 6-4+5+2*1
10 6-4+5+2+1
11 6-4+5*2-1
12 6+4+5-2-1
13 6+4+5-2*1
14 6+4+5-2+1
15 6+4*5/2-1
16 6+4+5+2-1
17 6+4+5+2*1
18 6+4+5+2+1
19 6+4+5*2-1
20 6+4+5*2*1
21 6+4+5*2+1
22 6*4-5+2+1
23 6+4*5-2-1
24 6+4*5-2*1
25 6+4*5-2+1
26 6*4+5-2-1
27 6+4*5+2-1
28 6+4*5+2*1
29 6+4*5+2+1
30 6*4+5+2-1
31 6*4+5+2*1
32 6*4+5+2+1
33 6*4+5*2-1
34 6*4+5*2*1
35 6*4+5*2+1
36 not found
37 not found
38 not found
39 not found
40 not found
41 not found
42 not found
43 not found
44 not found
45 6+4*5*2-1
46 6+4*5*2*1
47 6+4*5*2+1
48 not found
49 not found
0から35まで表せます。
これを見つけた人はすごいです。
来年の6,5,5,2,1だと0から15まで表せました。
def main():
for target in range(0, 50):
result = sagasu(target)
print(target, result)
def sagasu(target):
marks = ["+", "-", "*", "/"]
p = itertools.product(marks, marks, marks, marks)
for m in p:
shiki = f"6{m[0]}4{m[1]}5{m[2]}2{m[3]}1"
result = eval(shiki)
if target == result:
return shiki
return "not found"
if __name__ == "__main__":
main()
[ 2022年10月24日 | カテゴリー: 小ネタ | タグ: カウントダウン , パズル , 京都大学 , 文化祭 ]
« 漫画発行部数ランキング | ブラックコーヒーでなくカフェラテを注いで強盗殺人未遂 »
コメントを残す