鱼C论坛

 找回密码
 立即注册
查看: 10158|回复: 25

题目24:0,1,2,3,4,5,6,7,8,9的第100万个字典排列是什么?

[复制链接]
发表于 2016-9-20 17:36:25 | 显示全部楼层
  1. 2 6 6 2 5 1 2 1 1 0
  2. 2783915460
  3. [Finished in 3.0s]
复制代码

  1. count = 0
  2. for a in range(10):
  3.         for b in range(9):
  4.                 for c in range(8):
  5.                         for d in range(7):
  6.                                 for e in range(6):
  7.                                         for f in range(5):
  8.                                                 for g in range(4):
  9.                                                         for h in range(3):
  10.                                                                 for i in range(2):
  11.                                                                         for j in range(1):
  12.                                                                                 count += 1
  13.                                                                                 if count == 1000000:
  14.                                                                                         print (a,b,c,d,e,f,g,h,i,j)
  15.                                                                                         a1,b1,c1,d1,e1,f1,g1,h1,i1,j1 = a,b,c,d,e,f,g,h,i,j

  16. lst = [0,1,2,3,4,5,6,7,8,9]
  17. final = str(lst.pop(a1))
  18. final += str(lst.pop(b1))
  19. final += str(lst.pop(c1))
  20. final += str(lst.pop(d1))
  21. final += str(lst.pop(e1))
  22. final += str(lst.pop(f1))
  23. final += str(lst.pop(g1))
  24. final += str(lst.pop(h1))
  25. final += str(lst.pop(i1))
  26. final += str(lst.pop(j1))

  27. print (final)
复制代码


虽然代码丑,但是好处是速度快,3秒出结果。
第一行表示的是每个数字变动的次数。
第二行就根据每个数字变动的次数计算答案。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-6 03:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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