本文整理汇总了Python中Euler.pandigital_check方法的典型用法代码示例。如果您正苦于以下问题:Python Euler.pandigital_check方法的具体用法?Python Euler.pandigital_check怎么用?Python Euler.pandigital_check使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Euler
的用法示例。
在下文中一共展示了Euler.pandigital_check方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: range
# 需要导入模块: import Euler [as 别名]
# 或者: from Euler import pandigital_check [as 别名]
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
project euler problem 41
n桁の数がPandigitalであるとは, 1からnまでの数を各桁に1つずつもつことである.
例えば2143は4桁のPandigital数であり, かつ素数である.
n桁のPandigitalな素数の中で最大の数を答えよ.
"""
import Euler
import time
time1 = time.time()
answer = 0
for i in range(9999999, 1000000, -1):
if Euler.pandigital_check(i) * Euler.primecheck(i):
answer = i
break
if answer == 0:
for i in range(9999, 1000, -1):
if Euler.pandigital_check(i) * Euler.primecheck(i):
answer = i
break
print(answer)
print(time.time() - time1, "seconds")
示例2: range
# 需要导入模块: import Euler [as 别名]
# 或者: from Euler import pandigital_check [as 别名]
192を1, 2, 3で掛けてみよう.
192 × 1 = 192
192 × 2 = 384
192 × 3 = 576
積を連結することで1から9のPandigital数 192384576 が得られる.
192384576を 192と(1,2,3)の連結積と呼ぶ.
同じようにして, 9を1,2,3,4,5と掛け連結することでPandigital数918273645が得られる.
これは9と(1,2,3,4,5)との連結積である.
整数と(1,2,...,n) (n > 1) との連結積として得られる9桁のPandigital数の中で最大のものを答えよ.
"""
import time
import Euler
time1 = time.time()
lst = []
for i in range(1, 10 ** 4):
sttr = ""
for j in range(1, 10):
sttr += str(i * j)
if len(sttr) < 9:
continue
elif len(sttr) == 9 and Euler.pandigital_check(int(sttr)):
lst.append(sttr)
else:
break
print(max(lst))
print(time.time() - time1, "seconds")