我的代码: 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
我刚开始学习python。我在试着写一个打印素数no的程序。但它也打印了no。以5结尾。
n = 2
while n >= 2:
if n == 2:
print(n)
n += 1
while n >= 3:
if n == 3:
print(n)
n += 2
for i in range (3,n):
if n % i != 0:
print(n)
n +=
我刚开始学习python和系统编程。对于家庭作业,我需要找到并打印第n个质数。我写了下面的代码-我可以找到一个小于或等于n的质数列表,但是,我不知道如何打印我创建的列表中的第n个质数。我一直收到索引错误: list index out of range。
我想我漏掉了什么。有人能看一下我的代码并给我一些如何修复它的指导吗?非常感谢您的帮助。谢谢。
import sys
import math
def s_prime(n):
is_prime=list(range(n+1))
for i in range(2, int(n**0.5)+1):
if is_pr
我正在创建一个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, "
所以我在研究黎曼假设素数定理,
现在我的循环在isPrimeNumber方法中,循环是可以的,因为我在一个单独的类上测试了它,它运行得很好。primes是我的文本区。我在这里的问题是,当我在我的领域中输入任何数字时,我想要在我的文本区域中附加信息,但是当我输入100时,它给了我1-99的素数,但是现在它给了我10,000个素数--所有素数。任何帮助都将不胜感激。一切都很好。我试过调试,但找不到问题,仍然了解更多关于调试的知识。
public void run() {
int quantity = Integer.parseInt(field.getText());
我试图创建一个python程序来检查给定的数字"n“是否为素数。我首先创建了一个程序,其中列出了n的除数:
import math
def factors(n):
i = 2
factlist = []
while i <= n:
if n% i == 0:
factlist.append(i)
i = i + 1
return factlist
factors(100)
接下来,我试图使用"for i in“函数来表示,如果p1 (n的因素列表)只包含n本身,那么就打印TRUE,如果不是打印FALSE,则打印FALSE。这似乎很容易
有什么简单的方法可以让这个小程序更快吗?我已经完成了一个任务,它是正确的,但是太慢了。该程序的目的是打印第n对素数,其中两个素数之间的差是2,给定n。
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
bool isPrime(int number) {
for (int i = 3; i <= number/2; i += 2) {
if (!(number%i)) {
return 0;
}
}
return 1;
}
int fin
我用python编写了一个代码来找到第n个素数。
print("Finds the nth prime number")
def prime(n):
primes = 1
num = 2
while primes <= n:
mod = 1
while mod < (num - 1):
ptrue = 'true'
if num%(num-mod) == 0:
我正在尝试使用SDL_CreateTextureFromSurface创建一个SDL_Texture。我已经多次成功地实现了这个函数,没有出现任何问题。目前我得到了以下回溯信息:
#0 0xb7ef1e80 in ?? () from /usr/lib/libSDL2-2.0.so.0
#1 0xb7edf19c in ?? () from /usr/lib/libSDL2-2.0.so.0
#2 0xb7f12e1d in ?? () from /usr/lib/libSDL2-2.0.so.0
#3 0xb7f13ee7 in ?? () from /usr/lib/libSDL2
输入第一行包含一个正整数k,然后k个正整数跟随(每行一个)。数字不超过15000。输出每一个数n,按阶素数输出n.每一个数字都应该在它的线上。
#include <iostream>
#include <vector>
#include <math.h>
long long getNthPrime(int n)
{
long long size{};
if(n<11)
{
size=n*n;
}
else{
size=n*log(n)*log(n);
}
st
我在Julia中的代码,几乎和Python代码(见下文)相同,运行在4.6 s中,Python版本运行在2.4 S中,显然还有很多改进的余地。
function Problem12()
#=
The sequence of triangle numbers is generated by adding the natural
numbers. So the 7th triangle number would be:
1 + 2 + 3 + 4 + 5 + 6 + 7 = 28.
The first ten terms would be:
1,
我对python世界和一般的编码世界都比较陌生,所以我真的不确定如何优化我的python脚本。我拥有的脚本如下所示:
import math
z = 1
x = 0
while z != 0:
x = x+1
if x == 500:
z = 0
calculated = open('Prime_Numbers.txt', 'r')
readlines = calculated.readlines()
calculated.close()
a = len(readlines)
b = rea
我试图在一个范围内找到素数(输入将由用户决定)和素数总数。
我能找到素数,但不能计算素数。有人能帮我吗?这是程序
#!/usr/bin/env python
import math
lower=input("lower value:")
upper=input("upper value:")
print("prime numbers between", lower,"and", upper, "are:")
for num in range (lower, upper+1):
if num>1:
fo
开始学习python,现在遇到素数测验。因为我自己做不到,所以我找了很多答案,这是最简单的答案之一:
#Take the input from the user:
lower = int(input("Enter lower range: "))
upper = int(input("Enter upper range: "))
for num in range(lower,upper + 1):
if num > 1:
for i in range(2,num):
if (num %
int phi (int n) {
int result = n;
for (int i=2; i*i<=n; ++i)
if (n % i == 0) {
while (n % i == 0)
n /= i;
result -= result / i;
}
if (n > 1)
result -= result / n;
return result;
}
我看到了上面Euler phi函数的实现,它是O(sqrt ).I没
我正在网上学习python,我编写了这段代码来确定一个数字是否是素数。问题是,他们所做的与我在代码中所写的非常不同,所以我能得到一些建议,如何使我的代码更高效或更好吗?而且,这不是我做的唯一的程序,我正在练习许多程序,其中许多程序都在工作,但我怀疑我的方法是否正确,我的编码是否效率低下。
n = int(input("Enter the number "))
c = 2
r= n%c
while(r>0):
c = c+1
r = n%c
if (c==n):
print("The number is prime number");
我是python的新手,我不知道如何在不使用函数代码的情况下编写while循环来查找python中的第n个质数。 i=2
N=int(input("Enter a number:"))
count=0
while
if (is prime number):
count=count+1
print("The prime number is:",str(i))
我在python中找到了一个示例代码,它向n提供所有素数,但我就是不明白,为什么它会这样做呢?
我读过维基百科关于的文章,但根本不知道它是如何工作的。
pp = 2
ps = [pp]
lim = raw_input("Generate prime numbers up to what number? : ")
while pp < int(lim):
pp += 1
for a in ps:
if pp%a==0:
break
else:
ps.append(pp)
pr
我正在用Python为Eratosthenes的筛子编写一个素数程序。虽然它看起来很管用,但速度很慢。我怎么才能加快速度?
primes = []
upperLimit = 1000
for x in range(2,upperLimit):
primes.append(x)
for y in range(0,int(len(primes)**0.5)):
remove = []
for j in range(primes[y]**2,upperLimit,primes[y]):
remove.append(j)
for i in remove:
if i i
我想使用Python制作Diffie密钥交换代码,但我害怕只是随机选择g。
我读到了托马斯·波宁( Thomas )对这个问题的回答,如何计算Diffie-Hellman的原始根?说,如果你使用一个强素数,那么这个群体中的每一个数字(除了1和p-1)都会有一个p-1或\frac{p-1}{2}的顺序,但我在网上找不到可以使用的大强素数列表。有人知道我在哪里能找到吗?
编辑:感谢fgrieu的慷慨帮助,我意识到我正在寻找安全的素数,而不是强素数。
我有以下问题:
假设大于4的偶数可以通过将2个素数相加来获得,我必须编写一个算法来检查它。该算法应该比O(n^2)花费更少的时间。
例如,有一组从6到n的数字,如果我们有数字6,那么答案是6=3+3,对于22=17+5,依此类推。
我的第一个想法是:
S - set of n numbers
for i=1 to n {
//removing odd numbers
if (S[i]%2!=0)
continue;
result = false;
for j=2 to S[i]-2{
if (j.isPrime) // prime test c
编写一个python脚本来打印两个给定数字之间的所有素数(这两个值都包括在内),谁能告诉我这里做错了什么吗?
a = int(input("Enter the value of a : "))
b = int(input("Enter the value of b : "))
for k in range(a,b):
for i in range(2,k):
if k%i!=0:
if k!=i:
continue
elif k==i:
在过去的一周半的时间里,我一直在尝试用Python for RSA加密来生成大质数,但没有成功。费马质数测试在512比特的规模上是不可行的,我也不能完全理解米勒-拉宾。(我13岁)所有的在线脚本似乎都适用于我正在使用的Python版本以下的版本。我应该怎么做才能生成大量的素数?(是的,概率素数是可以的。)
我对c++、编码和通用技术还比较陌生,我想知道如何才能产生一个最多可达20的素数整数乘法表,这就是我迄今所尝试的。
#include <iostream>
using namespace std;
void table() {
int var;
for(int x = 1; x <= 20; x++) {
for(int y = 1; y <= 20;y++) {
for (int i = x*y; i <= x*y; i++) {
if (i == 1 || i == 0)