我正在创建一个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, "
我已经写了以下代码,它应该检查输入的数字是否是质数,但有一个问题我无法通过:
def main():
n = input("Please enter a number:")
is_prime(n)
def is_prime(a):
x = True
for i in (2, a):
while x:
if a%i == 0:
x = False
else:
x = True
如果这是显而易见的,我很抱歉,但是我对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>
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进程,显然并行化不做任何事情。这两个显然都不是我所希望的。 我的函数is_prime()应该检查一个数字是否是质数。在独立模式下,它就是这样做的。 import time
import multiprocessing
def is_prime(n):
if (n <= 1) :
return 'not a prime number'
我开始使用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的所有值?
我正在做项目Euler #7,我写了:
public class Seven {
public static void main(String[] args) {
int i = 0;
int c = 1;
while (c <= 10001) {
if (squareRootIsPrime(i)) {
c++;
}
i++;
}
System.out.println(Math.sqr
我正在尝试编写一个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
我需要找到给定数字的质数因子。 首先,我编写了代码来查找给定数字的因子,并将其存储为列表,并尝试在当前数字是否为质数的情况下遍历列表。但是,我得到了错误,因为is_prime函数中的一个参数没有定义。 下面是编写的代码。有人能帮助我们理解如何使用下面的代码找到质数因子吗? def factors(num):
factor=[]
for i in range(2,num+1):
if num%i==0:
factor.append(i)
return factor
num=int(input("Enter your number: "))
n
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
我已经尝试了几种不同的方法来获得10001个质数。
def isPrime(value):
if ((2**value)-2)%value==0:
return True
def nthPrime(n):
count = 0
value = 1
while count < n:
value += 1
if isPrime(value):
count += 1
return value
如果参数为10001,则返回103903。当我期待104743的时候。
我试过了:
primes = []
for i in range(2,105
为什么当你在中输入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写了一个生成质数的程序
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 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
我是haskell的新手,目前我需要一个函数'f‘,它给定两个整数,返回它们之间的质数(即大于第一个整数但小于第二个整数)。
Main> f 2 4
1
Main> f 2 10
3
到目前为止,这是我的代码,但它不起作用。有什么建议吗?谢谢..
f :: Int -> Int -> Int
f x y
| x < y = length [ n | n <- [x..y], y 'mod' n == 0]
| otherwise = 0
我是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亿的素数。我得想办法让它跑得更快。
我正在写一个程序,将找到并输出所有的质数从1-100,我能够建立该程序,但没有实际的质数输出。
下面是我的代码:
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i <= 100; i++)
{
for (int j = i-1; j >= 2; j--)
{
if (i == 1)
break;
else if (j == 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
我正在尝试返回一个列表,其中包含所有质数,直到某个数字(如果是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):
我的代码: 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