藍橋杯每日一題(11) 幻方填空(python)

2021-10-16 09:01:46 字數 1455 閱讀 7427

topic:

幻方是把一些數字填寫在方陣中,使得行、列、兩條對角線的數字之和都相等。

歐洲最著名的幻方是德國數學家、畫家迪勒創作的版畫《憂鬱》中給出的乙個4階幻方。

他把1,2,3,…16 這16個數字填寫在4 x 4的方格中。

如圖所示,即:

16 ? ? 13

? ? 11 ?

9 ? ? *

? 15 ? 1

表中有些數字已經顯露出來,還有些用?和*代替。

請你計算出? 和 * 所代表的數字。並把 * 所代表的數字作為本題答案提交。

對於填空題最簡單的思路就是暴力

將剩餘未填入的數放入nums

對nums進行全排列

之後按照順序填入陣列中

計算行、列、兩條對角線的數字之和

輸出都相等時*的值

code:

nums = itertools.permutations([2

,3,4

,5,6

,7,8

,10,12

,14])

for i in nums:

num =

list

(i) sum_1 =

16+ num[0]

+ num[1]

+13sum_2 = num[2]

+ num[3]

+11+ num[4]

sum_3 =

9+ num[5]

+ num[6]

+ num[7]

sum_4 = num[8]

+15+ num[9]

+1sum_5 =

16+ num[2]

+9+ num[8]

sum_6 = num[0]

+ num[3]

+ num[5]

+15sum_7 = num[1]

+11+ num[6]

+ num[9]

sum_8 =

13+ num[4]

+ num[7]

+1sum_9 =

16+ num[3]

+ num[6]

+1sum_10 =13+

11+ num[5]

+ num[8]

if sum_1 == sum_2 == sum_3 == sum_4 == sum_5 \

== sum_6 == sum_7 == sum_8 == sum_9 == sum_10:

print

(num[7]

)break

answer:

藍橋杯 幻方填空 Python

題目 幻方是把一些數字填寫在方陣中,使得行 列 兩條對角線的數字之和都相等。歐洲最著名的幻方是德國數學家 畫家迪勒創作的版畫 憂鬱 中給出的乙個4階幻方。他把1,2,3,16 這16個數字填寫在4 x 4的方格中。如圖p1.jpg所示,即 16 13 11 9 15 1 表中有些數字已經顯露出來,還...

藍橋杯 幻方填空 dfs 窮竭搜尋

全排列,暴力check 用手生敲,畢竟搞對映 量也少不到 去 配合草稿紙畫就完事了 打個純暴力可能也就10min 但是能騙出一道填空題 qaq也許搜尋會寫得更優美 然而 然而考場還是時間要緊叭 騙分主義.jpg include include include includeusing namespa...

第四屆藍橋杯 幻方填空

問題描述 幻方是把一些數字填寫在方陣中,使得行 列 兩條對角線的數字之和都相等。歐洲最著名的幻方是德國數學家 畫家迪勒創作的版畫 憂鬱 中給出的乙個4階幻方。他把 1,2,3,16 這16個數字填寫在 4 x 4 的方格中。表中有些數字已經顯露出來,還有些用 和 代替。請你計算出 和 所代表的數字。...