當前位置: 首頁>>代碼示例>>Python>>正文


Python Euler.primecheck方法代碼示例

本文整理匯總了Python中Euler.primecheck方法的典型用法代碼示例。如果您正苦於以下問題:Python Euler.primecheck方法的具體用法?Python Euler.primecheck怎麽用?Python Euler.primecheck使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Euler的用法示例。


在下文中一共展示了Euler.primecheck方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: range

# 需要導入模塊: import Euler [as 別名]
# 或者: from Euler import primecheck [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")
開發者ID:zfhrp6,項目名稱:PE,代碼行數:29,代碼來源:ProjectEuler41.py

示例2: int

# 需要導入模塊: import Euler [as 別名]
# 或者: from Euler import primecheck [as 別名]
渦巻きに新しい層を付け加えよう.
すると辺の長さが9の渦巻きが出來る.
以下, この操作を繰り返していく.
対角線上の素數の割合が10%未満に落ちる最初の辺の長さを求めよ.
"""
import time
import math
import Euler
time1 = time.time()

amount = 0
p_amount = 0
c = 0
add_count = 0
add_num = 2
i = 1
while True:
    if amount != 0 and math.sqrt(i) % 1 == 0 and int(math.sqrt(i)) % 2 == 1:
        if p_amount * 10 <= amount:
            break
    if add_count == 4:
        add_count = 0
        add_num += 2
    i += add_num
    add_count += 1
    amount += 1
    if Euler.primecheck(i):
        p_amount += 1
print(math.sqrt(i), i)
print(time.time() - time1, "Seconds")
開發者ID:zfhrp6,項目名稱:PE,代碼行數:32,代碼來源:ProjectEuler58.py

示例3: len

# 需要導入模塊: import Euler [as 別名]
# 或者: from Euler import primecheck [as 別名]
3797は麵白い性質を持っている.
まずそれ自身が素數であり, 左から右に桁を除いたときに全て素數になっている (3797, 797, 97, 7).
同様に右から左に桁を除いたときも全て素數である (3797, 379, 37, 3).
右から切り詰めても左から切り詰めても素數になるような素數は11個しかない. 総和を求めよ.

注: 2, 3, 5, 7を切り詰め可能な素數とは考えない.
"""
import time
import Euler
time1 = time.time()
anslist = []
i = 9
while len(anslist) < 11:
    i += 2
    if Euler.primecheck(i) == 0:
        continue
    checkn = 1
    for j in range(1, len(str(i))):
        if Euler.primecheck(int(str(i)[j:])) * Euler.primecheck(int(str(i)[:j])) != 1:
            checkn = 0
            break
    if checkn == 0:
        continue
    if j == len(str(i)) - 1:
        anslist.append(i)


print(sum(anslist))
print(time.time() - time1, "seconds")
開發者ID:zfhrp6,項目名稱:PE,代碼行數:31,代碼來源:ProjectEuler37.py


注:本文中的Euler.primecheck方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。