鱼C论坛

 找回密码
 立即注册
查看: 7425|回复: 16

题目41:最大的n位pandigital质数是多少?

[复制链接]
发表于 2019-3-29 13:55:47 | 显示全部楼层
本帖最后由 k往事如烟k 于 2019-3-29 13:57 编辑

  1. def isPrime(num):
  2.     if num <= 1:
  3.         return False
  4.     else:
  5.         for i in range(2, int(num**0.5+1)):
  6.             if num % i == 0:
  7.                 return False
  8.         else:
  9.             return True

  10. def isPandigital(num):
  11.     if len(str(num)) > 9:
  12.         return False
  13.     else:
  14.         numTempList = []
  15.         refNumList = []
  16.         for i in range(len(str(num))):
  17.             numTempList.append(int(str(num)[i]))
  18.             refNumList.append(i+1)
  19.         numList = list(set(numTempList))
  20.         if numList == refNumList:
  21.             return True
  22.         else:
  23.             return False

  24. #一个n位数的不重复数字的全排列
  25. def perm(n):
  26.     if n < 1 or n > 9:
  27.         return "输入有误,n应为1~9之间的整数!"
  28.     else:
  29.         import itertools

  30.         for i in range(1, n+1):
  31.             if i == 1:
  32.                 listTemp = [1]
  33.             else:
  34.                 listTemp = []
  35.                 for j in range(1, i+1):
  36.                     listTemp.append(j)

  37.         list1 = list(itertools.permutations(listTemp, len(listTemp)))
  38.         numList = []
  39.         for i in range(len(list1)):
  40.             numStr = ""
  41.             for j in range(len(list1[i])):
  42.                 numStr += str(list1[i][j])
  43.             num = int(numStr)
  44.             numList.append(num)
  45.         return numList

  46. allNumList = []
  47. for n in range(1, 10):
  48.     for each in perm(n):
  49.         allNumList.append(each)

  50. PrimePandigitalNumList = []
  51. for each in allNumList:
  52.     if isPrime(each) and isPandigital(each):
  53.         PrimePandigitalNumList.append(each)

  54. PrimePandigitalNumList.sort()
  55. print(PrimePandigitalNumList[-1])
复制代码

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-21 02:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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