我正在创建一个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, "
如果这是显而易见的,我很抱歉,但是我对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进程,显然并行化不做任何事情。这两个显然都不是我所希望的。 我的函数is_prime()应该检查一个数字是否是质数。在独立模式下,它就是这样做的。 import time
import multiprocessing
def is_prime(n):
if (n <= 1) :
return 'not a prime number'
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
我开始使用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的所有值?
我正在尝试编写一个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
为什么当你在中输入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
我尝试使用递归在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
我是Python的新手,我正在编写一个程序,它可以找到一个数的质因数。到目前为止,我的代码如下所示:
num = int(input('\nEnter a natural number greater than 1: '))
if num <= 1:
while num <= 1:
num = int(input('\nI said greater than 1: '))
if num == 2:
print('\n', num, 'is a prime number.')
else:
我正在尝试用python编写一个质数查找器。这不是某种任务,而纯粹是为了好玩。不知何故,程序给了我错误的答案!但是我真的不知道为什么.也许你们能帮我?我会非常感激的。
我的代码:
def is_prime(n):
if n == 0 or n == 1:
print(n, "is prime")
return true
else:
for i in range(2, ((n+1)/2)):
if n%i == 0:
print(n, " isn'
所以我写了一个程序来计算一个数字中所有质数位的和。 #python program to print the sum of prime digits
number = int(input("Enter a number"))
n = number
number_of_digits = 0
is_prime = True
total = 0
while n>0:
number_of_digits+=1
n = int(n/10)
for i in range(1, number_of_digits+1):
for j in range(2, int
我用Python写了一个生成质数的程序
def genPrimes(n):
primes = [2] # primes generated so far
last = 3 # last number tried
while last <= n:
for p in primes:
if last % p == 0 and math.sqrt(p) <= last:
break
else:
primes.append(last)
我是python的新手,所以我不能完全理解如何使用循环。我目前正在编写一段代码,我必须找到前N个质数。期望的结果是,如果你输入5,它输出2,3,5,7和11,但无论我输入什么'max',输出总是2和3。有什么方法可以改善这一点吗?
max=int(input("How many prime numbers do you want: "))
min=2
while(min<=(max)):
for c in range(2, min):
if min%c==0:
break
else:
print min
min=
我用Python 3编写了这个程序来检查一个数字是否是素数。
节目内容如下-
#Python program to check if the input number is prime or not
# take input from the user
num = int(input("Enter a number: "))
if num > 1:
# check for factors
for i in range(2,num):
if (num % i) == 0:
print(num,&
我写了一段代码: 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
这个程序生成质数。它工作得很好,但我想加快速度,因为它需要相当长的时间来生成所有的质数
#!/usr/bin/python
#intgr = int(raw_input ("Please enter your number: "))
intgr = 50000
for i in range (2, intgr+1):
j = 2
while j<i:
if (i%j) == 0:
break
j += 1
if j == i:
#print "prime",
我需要打印从1到1,000,000的所有质数,并打印从4到10,000的所有偶数和两个质数的和。 我有一个sieve方法,它将数组中的所有非质数更改为0(这个问题特别要求这样做),我需要使用一个goldbach方法传递这个数组,并显示从4到10,000的所有偶数和两个质数之和。 问题的goldbach部分的要点是有效地打印数字,我非常确定我的解决方案使用多项式时间搜索,而正确的解决方案是通过线性时间搜索来完成的。有什么关于我如何优化这个的线索吗? import java.lang.Math;
public class sieveAndGoldbach {
public stati
start = 100000000
end = 100000050
for i in range(start, end+1):
if i > 100000000:
for j in range(2, i):
if isinstance(i**0.5, int) or (i % j == 0):
break
else:
print(i)
我对python很陌生,我正在寻找第一个大于1亿的素数。我得想办法让它跑得更快。
如何在这里使用python iter?我想使用“next”方法逐个打印质数,并设置一个限制,例如最多100个。
def prime(num):
i = 2
while i < num:
if (num % i == 0):
return False
i += 1
return True
def prime_generator():
i = 2
while True:
if (prime(i)):
yield i
i += 1
f
我的代码: 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
我为项目Euler编写了这段代码(它在前100个版本中,所以我相信可以在这里提问),但它非常慢。我相信它应该行得通,但我想让它走得更快。我觉得要花一个小时才能完成。以下是python中的代码。
guess=2
prime=True
total=0
while guess<2_000_000:
prime=True
for i in range(2, guess):
if guess%i == 0:
prime=False
if prime:
total+=guess
guess+=1
print(to
我正在尝试返回一个列表,其中包含所有质数,直到某个数字(如果是Project Euler问题7)。我对Python非常陌生,但我这里的问题似乎不是语言,而是一个逻辑错误。
import math
import sys
def is_prime(n):
if n%2 == 0:
return False
for i in range(3, int(math.sqrt(n))+1, 2):
if n%i == 0:
return False
return True
def prime_counter(n):
我用python写了下面的代码来打印质数,但是它给出了如下输出:
3,5,7,**9**,11,13,**15**,17,19,**21**,23,25............99
代码如下:
def isprime(n):
if n == 1:
return False
for x in range(2, n):
if n % x == 0:
return False
else:
return True
def primes(n = 1):
while(True):
给定一个整数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
我在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