我只是在这里发布我的程序的函数部分(不是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';
我使用下面这段简单的代码来计算质数,然后将它们导出到一个文本文件中:
import java.util.Scanner;
import java.io.*;
public class primeGenerator{
public static void main(String[] args)throws Exception {
Scanner kb = new Scanner(System.in);
String prime;
long num = kb.nextLong();
long i;
lon
我正在编写一个程序,它可以判断一个给定的数字是否为质数。无论我输入一个质数还是另一个数字,它总是显示“这不是一个质数”。这里面有什么问题吗?
10 input "what is the number";a
20 let b=1
30 let b=b+1
40 let k=a/b
50 let p=fix(k)
60 if p=k then goto 100
70 if b<a then goto 30
80 print "it is a prime number
这是SPOJ上的质数生成器程序。我正面临着可怕的“超过时间限制”错误。我怎样才能克服它?这是指向问题的链接:-
可能的原因是什么?我还是一个初学者,我在网上搜索,它告诉我使用一些算法,但现在我不知道任何算法。
#include <stdio.h>
void prime(int a,int b)
{
int y=0;
for (int i=a;i<=b;i++)
{
for (int j=2;j<i;j++)
{
int x=i%j;
if (x==0)
import random
u = int(input("Enter the security parameter"))
half = int(u/2)
def Prime_Check(n):
isprime = True
for i in range(2,int(n/2)):
if n % i == 0:
print("is not prime")
isprime = False
break
if isprime != False:
在用Java语言编写返回布尔值的isPrime函数时,我见过很多在for循环中使用Math.sqrt(number)的例子。有人能解释一下为什么这个函数在for循环中做什么吗?我附上了一个例子以供参考。谢谢!
public boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i < Math.sqrt(n); i++) {
if (n % i == 0) {
return
我目前正在学习如何使用Pari GP,现在我正在尝试写出检查用户是否键入质数的代码。
这是我的代码。
printf("\t%s \n","PrimeNo(P): To check if it is a prime or not");
PrimeNo(p)={
if(isprime(p)||1, print("Prime numbers only"));
if(isprime(p)||0, print("Prime numbers stored"));
print(p);
}
问题是我的第一个"if“行是通过识别它
我有一系列随机数。这个范围实际上是由用户决定的,但它将是最多1000个整数。它们被放置在这个位置:
vector<int> n
值的插入方式如下:
srand(1);
for (i = 0; i < n; i++)
v[i] = rand() % n;
我正在创建一个单独的函数来查找所有非质数的值。这是我现在所拥有的,但我知道这是完全错误的,因为我在这个系列中同时得到了质数和复合数。
void sieve(vector<int> v, int n)
{
int i,j;
for(i = 2; i <= n; i++)
{
我成功地编写了一些代码,如果列表中的所有项都是质数,则返回true。
我认为这是reduce的一个很好的候选者--到目前为止,我只把reduce和lambda结合使用--有没有可能避免lambda而使用一个直接的函数?
def is_prime(list):
np = "Prime"
for n in list:
if n < 2:
np = "NonPrime"
print np
# return np
else:
我已经写了以下代码,它应该检查输入的数字是否是质数,但有一个问题我无法通过:
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
我写了一个快速筛子来测试一个数字是否是质数。我有两个问题:
1)我测试了一个200位的质数,它错误地说它不是质数。我相信这是由于浮点错误(或类似的错误)。我如何才能使这一点更准确?
2)有没有更好的方式来写这篇文章?我使用了decimal来处理更大的数字。这是最好的方法吗?
import math
from decimal import *
def isprime(n):
i = 2
a = 1
if n == 1:
return 0
if n == 2 or n == 3:
return 1
while i < n
我想用方法打印出一个数组中的所有质数。我可以用一个int来做,但是我不知道如何从数组中返回某些数字。感谢您的帮助!
public static boolean isPrime(int [] tab) {
boolean prime = true;
for (int i = 3; i <= Math.sqrt(tab[i]); i += 2)
if (tab[i] % i == 0) {
prime = false;
break;
}
我要所有质数的和等于两百万。我的程序逻辑是正确的,但是它花费了2百万的太多时间。我怎么才能让它更快呢? num_l=[]
y = int(input("enter till what number do you want the sum"))
for count in range(0,y):
num_l.append(count)
total = 0
for counter in range(0,y):
num = num_l[counter]
if num > 1:
有什么方法可以查看gympy的源代码吗?具体来说,gmpy2.is_prime。
我试过不同的链接
我哪儿都找不到。
我下载了gmpy2,并检查了我的本地驱动器,但是文件扩展名是.pyd。当我打开它时(用记事本),下面是我看到的第几行-
MZ ÿÿ ¸ @ ð º ´ Í!¸LÍ!This program cannot be run in DOS mode.
其余的都是胡言乱语。
我想要写一个非常快的质数检查器,这是我到目前为止遇到的最好的,有人能告诉我如何获得
我是一个Java新手,我的作业是编写一个程序,让用户输入一个数字,然后程序检查这个数字是否为质数。
我必须使用任何循环和JOptionPane作为输入。
我已经设法写了这段代码,并且它可以工作:
import static javax.swing.JOptionPane.*;
public class Programmeringsoppgave5 {
public static void main(String[] args) {
int number = 0;
String readNumber = showInputDialog("Wri
我试着找出所有大于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:
我想逐行列出100到200之间的所有质数...这是我试着写的代码。我正在尝试使用for循环来查看数字(例如100)是否可以被从2到数字本身的任何数字整除。所以我希望程序检查它是否可以被任何一个c值整除,如果是,那么只需停止程序,然后继续到下一个数字(例如101,102...)但是我似乎找不到一种方法来做这件事,如何正确地使用break命令
prime = False
for i in range(100, 201):
for c in range(2, i):
if i % c == 0:
prime = False
br
我正在试着写一个程序,如果你输入一个数字并单击一个按钮,程序将能够确定该数字是否为质数(只能被1及其本身整除)。
例如,当我输入数字"5“时,程序会说”是“,这是一个质数。但是,当我输入不是质数的"4“时,程序仍然声明是质数。
考虑到我写的"If“语句和循环,我不确定我哪里出错了。我的代码如下:
Public Class Form1
Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
Dim iNum, iSum A
有人能解释一下这是怎么工作的吗?我不理解的代码行在代码中做了标记。
import java.util.Scanner;
class PrimeCheck
{
public static void main(String args[])
{
boolean isPrime=true;
Scanner scan= new Scanner(System.in);
System.out.println("Enter any number:");
int num=scan.
现在我知道如何验证质数了,所以我尝试了自由式,但似乎编程需要比平时更多的限制来创建高达100的质数。我尝试了许多方法,遵循了许多方法,其中许多方法似乎很复杂。但是这个程序看起来很容易理解,但是我仍然很难理解布尔变量purpose? public static void main(String[] args) {
for (int i = 2; i <=100; i ++) {
boolean primeNum = true;
for (int j = 2; j <i; j++) {
所以首先,我意识到有更简单的方法来获得质数列表,但我这么做只是为了学习。我对这个问题的理解很差(正如你会看到的),所以如果这是一个愚蠢的问题,我很抱歉。我在努力学习。
#make an empty list to store primes in
primes = list()
#make a variable to easily change the amount of numbers I test for primality
high_val = 15
#Allocate a range that I will test all numbers in for primality
for
m = range(1, 2000000, 2)
sum1 = 2
for x in xrange(1, 2000000, 2):
for y in m:
if x != y:
if x%y == 0:
m.remove(x)
if all(x%y != 0):
sum1 += x
这就是我写的。这是关于一个问题,试图将两百万以下的所有素数相加。我的问题出在all()语句中。我想要做的是检查x是否是质数;只有当每个x%y都有余数时才是真的。
另外,如果我使用a
我看过一个关于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