六角填数

如图所示六角形中, 填入1~12数字

在这里插入图片描述

保证每条直角线上的数字之和都相等
图中已填好3个数字, 请计算出星号位置所代表的的数字是多少

from itertools import permutations
ls1=[1,8,3]
ls=[]
for i in range(1,13):
    if i not in ls1:
        ls.append(i)
ls=list(permutations(ls))
for i in range(len(ls)):
    l1=1+ls[i][0]+ls[i][3]+ls[i][5]
    l2=1+ls[i][1]+ls[i][4]+ls[i][8]
    l3=8+ls[i][0]+ls[i][1]+ls[i][2]
    l4=ls[i][5]+ls[i][6]+ls[i][7]+ls[i][8]
    l5=3+ls[i][7]+ls[i][4]+ls[i][2]
    l6=8+ls[i][3]+ls[i][6]+3
    if l1==l2 and l2==l3 and l3==l4 and l4==l5 and l5==l6:
        print(ls[i])
        break

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值