当前位置: 首页>>代码示例>>Python>>正文


Python Euler.prime_make方法代码示例

本文整理汇总了Python中Euler.prime_make方法的典型用法代码示例。如果您正苦于以下问题:Python Euler.prime_make方法的具体用法?Python Euler.prime_make怎么用?Python Euler.prime_make使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Euler的用法示例。


在下文中一共展示了Euler.prime_make方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: and

# 需要导入模块: import Euler [as 别名]
# 或者: from Euler import prime_make [as 别名]
"""
project euler problem 135

正の整数x, y, z が等差数列として与えられたとき、
x2 - y2 - z2 = n がちょうど2個の解を持つような最小の正の整数 n は、n = 27である。
34^2 − 27^2 − 20^2 = 12^2 − 9^2 − 6^2 = 27
n = 1155 は、方程式がちょうど10個の解を持つ最小の値である。
ちょうど10個の解を持つような n は、100万までにいくつ存在するか?
"""
import time
import Euler
time1 = time.time()
n = 0
check = 0
count = 0
primelist = Euler.prime_make(1000000)
print(time.time() - time1)
while n < 1000000:
    n += 1
    if n in primelist:
        continue
    x = 0
    while x <= n / 2:
        x += 1
        if n % x == 0 and n / x > x and (n / x - x) % 2 == 0:
            check += 1
    if check == 10:
        count += 1
        check = 0
    if time.time() - time1 > 60:
        break
开发者ID:zfhrp6,项目名称:PE,代码行数:33,代码来源:ProjectEuler135.py

示例2: range

# 需要导入模块: import Euler [as 别名]
# 或者: from Euler import prime_make [as 别名]
  1  6  15   20   15   6   1
1  7   21  35   35  21   7   1
....

上から8行見るとパスカルの三角形は12個の異なる数を含む.
1, 2, 3, 4, 5, 6, 7, 10, 15, 20, 21, 35である.
任意の素数の二乗がnを割り切らないとき, 正整数nが平方因子を持たないと言う.
先ほどの12個の数字を見ると, 4, 20以外は平方因子を持たない.
従って, 最初の8行の平方因子を持たない異なる数の和は105になる.
パスカルの三角形の最初の51行に含まれる平方因子を持たない異なる数の和を答えよ.
"""
import time
import math
import Euler
time1 = time.time()
sosu = Euler.prime_make(50000)
trilist = [x for x in range(1, 50)]
answerlist = []
for i in range(2, 51):
    for j in range(int(i)):
        trilist.append(
            (math.factorial(i) / (math.factorial(j) * math.factorial(i - j))))
trilist = list(set(trilist))
for k in trilist:
    check = 1
    for l in sosu:
        if k % (l ** 2) == 0:
            check = 0
            break
    if check == 1:
        answerlist.append(k)
开发者ID:zfhrp6,项目名称:PE,代码行数:33,代码来源:ProjectEuler203.py

示例3: tuple

# 需要导入模块: import Euler [as 别名]
# 或者: from Euler import prime_make [as 别名]
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
project euler problem 187

合成数とは2つ以上の素因数を含む整数のことである.
例えば15 = 3 × 5, 9 = 3 × 3, 12 = 2 × 2 × 3が合成数である.
30以下には丁度2つの素因数を含む合成数 (異なる素因数でなくてもよい) が,
10個存在する. 4, 6, 9, 10, 14, 15, 21, 22, 25, 26がそうである.
合成数n < 10^8について, 丁度2つの素因数を含む合成数 (異なる素因数でなくてもよい) の数を答えよ.
"""
import time
import Euler
t0 = time.time()

primes = tuple(Euler.prime_make(50000000))

answer_count = 0
for i in primes:
    if int(i) > 10000:
        break
    print(i)
    for j in primes:
        if j < i:
            continue
        if int(i) * int(j) >= 10 ** 8:
            break
        answer_count += 1

print(answer_count)
print(time.time() - t0, "seconds")
开发者ID:zfhrp6,项目名称:PE,代码行数:33,代码来源:ProjectEuler187.py

示例4: list

# 需要导入模块: import Euler [as 别名]
# 或者: from Euler import prime_make [as 别名]
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
project euler problem 91

素数の2乗と素数の3乗と素数の4乗の和で表される最小の数は28である. 50未満のこのような数は丁度4つある.
    28 = 2^2 + 2^3 + 2^4
    33 = 3^2 + 2^3 + 2^4
    49 = 5^2 + 2^3 + 2^4
    47 = 2^2 + 3^3 + 2^4
では, 50,000,000未満の数で, 素数の2乗と素数の3乗と素数の4乗の和で表される数は何個あるか?
"""
import time
import Euler
t0 = time.time()
primes = Euler.prime_make(7080)
answerlist = []
for x in primes:    # 7079**2>50000000
    for y in [i for i in primes if i < 374]:  # 374**3>50000000
        for z in [k for k in primes if k < 90]:   # 89**4>50000000
            num = x ** 2 + y ** 3 + z ** 4
            if num < 50000000:
                answerlist.append(num)
answerlist = list(set(answerlist))
answerlist.sort()
print(len(answerlist))
print(time.time() - t0, "seconds")
开发者ID:zfhrp6,项目名称:PE,代码行数:29,代码来源:ProjectEuler87.py

示例5: factors

# 需要导入模块: import Euler [as 别名]
# 或者: from Euler import prime_make [as 别名]
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
project euler problem 179

nとn + 1 の正の約数の数が同じになる 1 < n < 10^7 の整数は幾つあるか。
例として, 14 の正の約数は 1, 2, 7, 14 であり, 15 の正の約数は 1, 3, 5, 15 である.
"""
import time
import Euler
from functools import reduce
t0 = time.time()
answer = 0
n = 1
lst = [0, 1]
primes = Euler.prime_make(10 ** 5)


def factors(n, lists):
    lists
    if n == 1:
        return {1: 1}
    elif n == 2:
        return {2: 1}
    elif n == 3:
        return {3: 1}
    xd = {}
    for i in lists:
        moto = n
        while n % i == 0:
            if i in xd:
开发者ID:zfhrp6,项目名称:PE,代码行数:33,代码来源:ProjectEuler179.py

示例6: tuple

# 需要导入模块: import Euler [as 别名]
# 或者: from Euler import prime_make [as 别名]
# coding:utf-8
"""
Project Euler Problem 123

p_n を n 番目の素数とする. (p_1 = 2, p2 = 3, ...)
r を (p_n - 1)^n + (p_n + 1)^n を p_n^2 で割った余りとする.

例えば, n = 3 のとき, p_3 = 5 であり, 4^3 + 6^3 = 280 ≡ 5 mod 25.

余り r が 10^9 より大きくなる n の最小値は 7037 である.

余り r が 10^10 より大きくなる最初の n を求めよ.
"""
import time
import Euler
t1 = time.time()
primes = Euler.prime_make(1000000)
primes.insert(0, 0)
primes = tuple(primes)
for i in range(7038, len(primes)):
    if i % 2 == 0:
        continue
    m = ((primes[i] - 1) ** i + (primes[i] + 1) ** i) % (primes[i] ** 2)
    if i % 100 < 3:
        print(i, m)
    if m > 10 ** 10:
        break

print(i)
print(time.time() - t1, "seconds")
开发者ID:zfhrp6,项目名称:PE,代码行数:32,代码来源:ProjectEuler123.py

示例7: tuple

# 需要导入模块: import Euler [as 别名]
# 或者: from Euler import prime_make [as 别名]
100未満の素数を連続する素数の和で表したときにこれが最長になる.
同様に, 連続する素数の和で1000未満の素数を表したときに最長になるのは953で21項を持つ.
100万未満の素数を連続する素数の和で表したときに最長になるのはどの素数か?
"""
import time
import Euler
time1 = time.time()
maxl = 0

limit = 1000000
answer = 0

max_kosuu = 550  # この個数を超えて和を求めても100万を超過する

primes = tuple(Euler.prime_make(limit))
primes_2 = tuple(primes[1:])

for i in range(2, max_kosuu, 2):
    sums = sum(primes[:i])
    length = len(primes[:i])
    if sums > limit:
        break
    if length > maxl and sums in primes:
        maxl = length
        answer = sums
        print(maxl, """primes[:i],""""sum is", sums)

for i in range(3, max_kosuu, 2):
    for j in range(len(primes_2) - i):
        sums = sum(primes_2[j:i])
开发者ID:zfhrp6,项目名称:PE,代码行数:32,代码来源:ProjectEuler50.py


注:本文中的Euler.prime_make方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。