L=[]
def Prime(N):
a=0
for i in range(2,N):
if N%i==0:
a+=1
if a>0:
return False
else:
return True
def PrimesList(N):
if N==2:
L.append(2)
elif Prime(N):
L.append(N)
return PrimesList(N-1)
el
为什么当你在中输入2时,它会返回"2是质数“?根据代码,如果数字除以i的余数等于0,则该数字不是质数。其中i是从(包括)2到该数字的任何数字。但是2除以2的余数是0,那么为什么程序说2是质数呢?
# Python program to check if the input number is prime or not
# take input from the user
num = int(input("Enter a number: "))
# prime numbers are greater than 1
if num > 1:
# check f
我写了一段代码: In [1]:
import time
import random
#max_PrimLength = 1000000000000
def egcd(a, b):
if a == 0:
return (b, 0, 1)
else:
g, y, x = egcd(b % a, a)
return (g, x - (b // a) * y, y)
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
def is_prime
我正在创建一个Python程序来确定一个数字是否为质数。这就是我所拥有的:
print("Please enter your number:")
number = int(input())
if number > 2:
for i in range (2,number):
if (number % i) == 0:
print(number, "is not prime")
break
else:
print(number, "
我在Ruby on Rails中尝试如何找到质数。下面是我的代码:
helper : app/helpers/test_helper.rb
module TestHelper
def prime_number? number
index = 2
tmp = 0
while index <= number
if tmp < 1
if (number % i
我有一个代码,它应该检查给定数字范围内的质数。我想让它并行执行。然而,我没有设法让它运行起来。根据我将数字传递给它的方式,它要么正常工作并检查质数,但没有并行运行,要么不检查质数,但启动了许多python进程,显然并行化不做任何事情。这两个显然都不是我所希望的。 我的函数is_prime()应该检查一个数字是否是质数。在独立模式下,它就是这样做的。 import time
import multiprocessing
def is_prime(n):
if (n <= 1) :
return 'not a prime number'
我的代码: import math
n=int(input('Enter the number'))
b=list(range(2,n+1))
for i in range(2,int(math.sqrt(n))+1):
for j in b:
if j!=i and j%i==0:
b[b.index(j)]=0
b={i for i in b if not i==0}
c={i for i in b if n%i==False}
print(b)
print(c) 这一次,我以自己的方式实现了筛子。为什么它不适用于数字为6
给定一个整数n,函数legendre_n应返回介于n^2和(n+1)^2之间的质数。 这是我写的代码: def legendre_n(n):
"""Returns the number of primes between n**2 and (n+1)**2"""
count = 0
for i in range(n**2, ((n+1)**2)):
if i%2 != 0:
count += 1
return count print(legendre_n(12)) = &g
如果这是显而易见的,我很抱歉,但是我对python编程很陌生,为什么这个程序不能生成一个质数列表,它们中的大多数看起来是质数,但也有一些不是。
#!/usr/bin/env python
print ("Prime Numbers")
Number = 2
while True:
Test = 2
while Test < Number:
if Number % Test == 0:
Number = Number + 1
else:
Test = Test + 1
p
a = [int(x) for x in input().split(' ')]
print(a)
for i in a:
if a%i==0:
pass
break
else:
print(i)
我正在尝试打印列表'a‘中的质数。但我弄错了
4 23 21 1
[4, 23, 21, 1]
Traceback (most recent call last):
File "C:/Python35/primenumber.py", line 4, in <module>
我已经写了一个递归的Python程序,并附在下面,它打印出一段时间内的回文素数。我不能使用循环。
palindromic_primes.py:
import sys
sys.setrecursionlimit(30000)
# this function places all the numbers between the start and end points into
# a list and determines whether they are prime numbers by seeing if they have
# a remainder of 0 when divided,
我只是在这里发布我的程序的函数部分(不是hello和再见图形的方法...它们很好!)。基本上,程序让用户输入一个整数,确定它是否是质数,并询问他们是否想要再次输入。它会继续运行循环,直到他们说不。
这是我到目前为止所掌握的。
Main:
public static void main (String[] args)
{
Scanner scan = new Scanner (System.in);
int n = 0, even = 2;
int answer = 0;
String reply;
char doAgain = 'Y';
我看过一个关于Belphegor质数的视频。Belphegor素数的定义是这样的:在表达式中,对于正整数n,(10^(n+3)+666)*(10^(n+1)+1)是素数。
我试着编写了一个Python程序,它将确定输入的数字质数是否会在前面提到的表达式中产生质数,但我的代码说,对于表达式中的所有素数,n都是质数,但这不是真的,它无限地说了这一点。
我的代码:
n = int(input("Enter a positive number n: "))
x =(10**(n+3)+666)*10**(n+1)+1
for i in range(2,x - 1):
if
x=0
y = raw_input("""Up to what number would you like to locate primes?: """)
for i in range(int(y)):
x = x + 1
if x%2 and x%3 and x%5 and x%7:
print x, '--> PRIME'
elif x==2 or x==3 or x==5 or x==7:
print x, '--> PRIME'
elif x==1:
print x
else:
print x
我开始使用Python,并对以下代码有一个问题:
def prime2(n):
n = eval(input("What is your number? "))
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
else:
return True
因此,当返回True时,n是质数。现在,是否有一种方法可以列出if语句为真的n的所有值?
例如
f(2)->1
f(3)->2
f(4)->-1 //4 is not a prime
f(5)->3
...
通常,生成一个素数生成器,并在它达到x之前进行计数。
def f(x):
p = primeGenerator()
count=1
while True:
y = next(p)
if y>x:
return -1
elif y==x:
return count
else:
count+=1
我正在尝试编写一个python函数来返回小于给定值的质数和所有质数的值。我需要使用Eratosthenes算法的筛子。我认为我在函数中遗漏了一些东西-例如,当我想要找到100以下的素数时。我得到的是2,3,5,7。我知道如果我不使用“平方根”,我可以得到我需要的所有素数;但我被告知我需要包括那里的平方根。有没有人可以看看我的代码,让我知道我遗漏了什么?耽误您时间,实在对不起。
def p(n):
is_p=[False]*2 + [True]*(n-1)
for i in range(2, int(n**0.5)):
if is_p[i]:
yield i
这是我的python代码,用于计算小于给定数的质数和。
我还能做些什么来优化它?
import math
primes = [2,] #primes store the prime numbers
for i in xrange(3,20000,2): #i is the test number
x = math.sqrt(i)
isprime = True
for j in primes: #j is the devider. only primes ar
问题是:5000万以下的数字有多少可以表示为素数平方、素数立方和素数四次方的和?下面是这个问题的链接:
当我试图得到更高输入的正确答案时,我遇到了一个问题。我的python代码如下所示。函数primestill(n)返回所有小于n的素数的生成器,并且工作正常。如果有任何帮助,我将不胜感激。
def many2(x):
counter = 0
s1 = int(x**(1/4))+1
for i in primestill(s1):
s2 = int((x-i**4)**(1/3)) + 1
for j in primestill(s2):
我一直在使用这个代码来检查一个数字是否为质数:
def pcheck(number):
if number < 2:
k = "NO"
# theres no prime number less than 2
else:
i = 2
factors = []
while i * i <= number:
if number % i:
i += 1
else:
numbe
多线程/多进程的最佳方法是什么下面的代码片段?
摘要:质数是从3...and开始的。然后,每个质数被附加到数组primes[],其中,找到到前一个质数的间隙。将偶数的最长连续序列打印到控制台。
我已经阅读了关于这个主题的其他问题和注释,但我感到困惑&不知道从哪里开始。
from timeit import default_timer as timer
start = timer()
gap = 0
primes = []
for i in range(3,999999999,2):
prime_check = True
for j in range(0,int(len
我尝试使用递归在python中生成质数(因为我发现迭代方法会花费太多时间,特别是如果想要找到所有质数,比如100万左右)。这是我的代码:
def primes(n): #to produce prime numbers less than or equal to n
if n <= 1:
return "No primes that satisfy"
elif n == 2:
return [2]
else:
if all(n%a != 0 for a in primes(n-1)): #A numb