我是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程序来确定一个数字是否为质数。这就是我所拥有的:
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的新手,我正在编写一个程序,它可以找到一个数的质因数。到目前为止,我的代码如下所示:
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 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,&
我用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):
如果这是显而易见的,我很抱歉,但是我对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的初学者,对此仍有些困惑。我得把质数打印出来,但现在我无法计算出输出的质数,请帮帮忙。
import math
n= int (input("Enter an Integer: "))
for j in range(2, n+1):
if all(j%i!=0 for i in range(2,int(math.sqrt(j))+1)):
print (j)
count = 0
for j in range(2, n+1):
if j is True:
len(j)
我想知道我可以在调试或发现程序中的错误方面获得一些帮助。目标是获得用户输入,然后显示素数,从输入到零,从最大素数到最低素数。
问题是,输出包括用户输入,用户输入本身可能是质数,也可能不是质数,并且多次重复质数:(另外,我想知道为什么不包括2?
我的代码:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int prime, division, input;
cout << "Please enter a number you wish to
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
输入一个数字: 13 预期输出: 13是一个质数。 我正在尝试这种方式->//编写一个程序来确定这个数字是否为质数 #include <stdio.h>
int main(){
//Declaring variables for storing information
int number,count=0;
printf("Enter an integer number : ");
scanf("%d",&number);
//Here, I want to divide the number by 1 up to 100
for(
我有一个代码,它应该检查给定数字范围内的质数。我想让它并行执行。然而,我没有设法让它运行起来。根据我将数字传递给它的方式,它要么正常工作并检查质数,但没有并行运行,要么不检查质数,但启动了许多python进程,显然并行化不做任何事情。这两个显然都不是我所希望的。 我的函数is_prime()应该检查一个数字是否是质数。在独立模式下,它就是这样做的。 import time
import multiprocessing
def is_prime(n):
if (n <= 1) :
return 'not a prime number'
我对Java是个新手,而且不是很在行。对我来说,这是一个反复尝试的过程。
我正在编写一个Java程序,用于输出数组中质数的数量。我可以让它输出素数,但我也想输出素数的数量。我尝试将每个质数添加到一个名为“质数”的数组列表中,然后在程序结束时返回"primes.size()“。它没有像预期的那样工作。计数实际上是关闭的。当我创建一个由5个数字组成的数组时,它输出3个素数,2,3和5,但是它说我有4个素数。我想它可能会把1算作素数。因为当我创建一个20的数组时,质数输出2,3,5,7,11,13,17和19,然后它说总的质数= 9,但它应该是8。
这是我的代码
public class P
Python函数partition(),它接受整数m作为输入,如果m可以划分为素数,则返回True,否则返回False。 我试过这个代码,但它并不适用于所有的测试用例!!例如,如果输入"185“,则输出应为"False",但此代码返回"True” def partition(num):
primelist = primes(num)
for x in primelist:
y= num-x
if y in primelist:
return True
else:
我开始使用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中打印列表中素数的sum?
我是Python的新手,因此我可能犯了一个可怕的错误。
请帮帮忙。
def prime(n):
i = 2
c = 0
for i in range(1,n+1):
if(n%i == 0):
c = c+1
if(c == 2):
return True
else:
return False
def sumprimes(l1):
l1 = []
l = len(l1)
i = 0
sum = 0
/*This is a c program I made to print prime numbers between 0 and n,
the loop in this program runs once and terminates.*/
#include <stdio.h>
int main()
{
int n;
printf("Enter the value of n\n");
scanf("%d", &n);
int i, j;
for (i = 0; i <
我试着找出所有大于2小于501的素数。请参考下面给出的代码:
num = 501
x = int(input('Enter a number greater than 1: '))
if x > 1:
for i in range(2, num):
if x % i == 0:
result = False
else:
result = True
if result == True:
print('Prime number.')
else:
我有在CodeEval上得到主回文问题的正确解决方案,但仍然得到以下错误:
TypeError: path must be a string
以下是我的解决方案:
var fs = require('fs');
fs.readFileSync(process.argv[2])
.toString()
.split('\n')
.forEach(isPrime)
function isPrime(input){
if (input === '') return;
if (input < 1001 ) {
va
我正在做Euler项目的problem 5。我尝试将另一个用户的Python代码转换为R,但输出不同。 Python脚本的输出为232792560,其中R脚本的输出为1964187225 错误在哪里? Python代码: def is_prime(number):
for n in range(2, number):
if number % n != 0:
n += 1
else:
return False
return True
def smallest_multiple(num):
我编写了Python素数生成器的代码,以生成前100个素数。但是,不知何故,我在输出中得到了非质数,比如22,25等。我一遍又一遍地检查了几个小时,仍然找不出哪里出错了……请帮帮我!
下面是我的代码:
from math import sqrt
y=[2]
x=3
while len(y)!=100:
for i in range (2,int(round(sqrt(x)+1))):
if x%i==0:
x=x+1
else:
y.append(x)
x=x+1
break
print(y)
我正在尝试编写一个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
我想检查一个数是不是质数。下面是我的代码:
#include <iostream>
using namespace std;
int main(){
int num;
int i, k = 0;
cin >> num;
for(i = 2; i < num; i++){
if(num % i == 0){
k = k + 1;
}
}
if(k > 0){
cout << "The number is not pri
我试图在python中制作这个无限的生成器:
import math
def all_primes():
count = 2
while True:
flag = True
for x in range(2, int(math.sqrt(count) + 1)):
if count % x == 0:
flag = False
if flag:
yield count
else:
count
我用Python3实现了在维基百科上找到的。
它似乎在大多数数字上都能正常工作,但在某些数字上偶尔会失败。
例如,质数99999999999999997被判断为不是质数。
我逐行实现了算法,但我不知道问题出在哪里。有人能帮我吗?
这是我的代码。
测试输入为:
1
99999999999999997
(两行之间没有空行。)
预期的输出应该是YES,但在我的机器上它给出了NO。
import random
def isPrime(n, k = 5):
'''
Primality test using Miller-Rabin method.
n The number to
p=[]
l=[]
v="run"
a=int(input("enter num or end: "))
while v!="end":
l.append(int(a))
a=input("enter num or end: ")
v=a
for a in l:
f=0
for j in range(2,a//2):
if a%j == 0:
f=1
break
if f==0:
p.append(
为什么当你在中输入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
我编写这个程序是为了找到从2到用户指定的整数之间的n个素数,但它并不是我想要的样子。我不确定是嵌套循环还是格式化输出的方式给了我这些问题。预期结果如下。
def is_prime(user_number): #Find all prime numbers from 2 and up to the user entered integer and store them in a list.
primes = []
for num in range(2,user_number):
for x in range(2,num):
我尝试使用递归在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编写一个质数查找器。这不是某种任务,而纯粹是为了好玩。不知何故,程序给了我错误的答案!但是我真的不知道为什么.也许你们能帮我?我会非常感激的。
我的代码:
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
我正在写这个方法,它应该返回给定数字的最大素因数。它一直工作得很好,直到输入了45,输出是15,尽管输出应该是5。我正在努力寻找错误。请帮帮忙。
public static int getLargestPrime(int number) {
if (number < 0) {
return -1;
}
for (int i = number-1; i > 1; i--) {
if (number % i == 0) {
for (int j = 2;
我用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)
我需要这个来输出因子作为质数。
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter a number:");
int theNum = keyboard.nextInt();
int i;
System.out.println("\nThe prime factors of " + theNum + " are:");
for(
我已经创建了一个过程,它将打印直到用户输入的所有质数。但是,一些输出值不是质数,例如15、21等。如果我从15开始,程序将不会输出为质数,因此它必须是我的DIV段或循环。任何帮助都是非常感谢的。 .code
main proc
mov ecx, 18 ;ecx is the loop counter
mov eax, 2 ;assume 2 is prime
L1:
inc eax ;start with value 3
call isPrime
loop L1
invoke Exit