鱼C论坛

 找回密码
 立即注册
查看: 4330|回复: 13

[作品展示] 幻方生成器(目前仅支持只因数)

[复制链接]
发表于 2023-1-12 10:45:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 KeyError 于 2023-1-12 11:06 编辑

效果:
  1. 请输入幻方的阶数: 5
  2. 幻方为:
  3. 17 24 1 8 15
  4. 23 5 7 14 16
  5. 4 6 13 20 22
  6. 10 12 19 21 3
  7. 11 18 25 2 9
  8. >>>
复制代码

源码:
双层hide,,VIP也看不到
[hide=d365]
  1. def move(inta, num, Return):
  2.     global numm
  3.     numm = num + []
  4.     if num[0] == 0 and num[1] == inta:
  5.         numm[0] += 1
  6.     elif num[0] == 0 or num[1] == inta:
  7.         if num[0] == 0:
  8.             numm[0] = inta
  9.             numm[1] += 1
  10.         else:
  11.             numm[1] = 0
  12.             numm[0] -= 1
  13.     else:
  14.         numm[0] -= 1
  15.         numm[1] += 1
  16.     if Return[numm[0]][numm[1]] != 0:
  17.         numm = num + []
  18.         numm[0] += 1
  19.     return numm
  20. def main(a):
  21.     global mx
  22.     global Return
  23.     global num
  24.     assert a % 2 == 1
  25.     Return = [[0 for i in range(a)] for i in range(a)]
  26.     inta = a - 1
  27.     num = [0, inta // 2]
  28.     mx = 1
  29.     Return[num[0]][num[1]] = mx
  30.     for i in range(a**2-1):
  31.         num = move(inta, num, Return)
  32.         mx += 1
  33.         Return[num[0]][num[1]] = mx
  34.     return Return
  35. if __name__ == "__main__":
  36.     a=int(input("请输入幻方的阶数: "))
  37.     try:
  38.         re = main(a)
  39.     except AssertionError:
  40.         print("暂不支持偶数.")
  41.     else:
  42.         print("幻方为: ")
  43.         for i in re:
  44.             for j in i:
  45.                 print(j, end=" ")
  46.             print("")
复制代码

《麻醉大师》
医生:这种病叫阿莫森特鲁希尔综合症,需要手术治疗。
病人:为什么叫阿莫森什么什么综合征?
医生:这个阿司林......
病人:不是叫阿莫森特......
医生:这个阿莫勒林及......
病人:我快被你绕晕了,不是叫阿莫森特鲁......
医生:这个埃斯林批......
病人:(已被绕晕)
医生:病人麻醉成功,可以开始手术了。

[/hide]

点评

我用的是《组合数学》第一章提到的算法。  发表于 2023-1-12 11:08

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
zhangjinxuan + 5 + 5 鱼C有你更精彩^_^

查看全部评分

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-1-12 11:26:18 | 显示全部楼层
weiter 发表于 2023-1-12 11:23
谢谢,不知道幻方是啥子

幻方是指每行每列每条对角线上的数加和都一样的数字方块组合.
比如:
8 1 6
3 5 7
4 2 9
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-12 10:50:56 | 显示全部楼层
本帖最后由 KeyError 于 2023-1-12 11:02 编辑


我像是会列表格的人吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-12 10:59:55 | 显示全部楼层
真不错,来看看源码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-12 11:00:40 | 显示全部楼层
抱歉,您不能对匿名帖评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-12 11:02:11 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-12 11:02:55 | 显示全部楼层
我康康
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-12 11:23:36 | 显示全部楼层
谢谢,不知道幻方是啥子
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-12 12:54:19 | 显示全部楼层
啥叫幻方
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-12 10:05:38 | 显示全部楼层
wow
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-2-12 21:01:52 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-2-16 13:48:20 | 显示全部楼层
只因数(
小黑子露出只因脚了罢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-16 16:58:11 | 显示全部楼层
看看呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-25 03:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表