我目前正在尝试编写一个程序来查找 所有孪生素数都不到1,000。然后显示输出如下(3,5)(5,7).....(等)
到目前为止,我只有代码来查找素数,并且不确定我应该做些什么来不仅找到孪生素数,而且如何正确地打印所有素数。任何建议都非常感谢,非常感谢您提前!到目前为止,这是我的代码。
int a =0;
int b =0;
String d = "";
for (a = 1; a <= 100; a++) {
int counter = 0;
for (b = a; b >= 1; b--) {
if (a % b == 0) {
counter = counter + 1;
}
}
if (counter == 2) {
w = w + a + " ";
// ..
答案 0 :(得分:0)
检查NonAppWindowsInternal。它要求输入,但将p
更改为1
,将q
更改为100
(在main
内)。然后删除行号30-33
。它还可以根据需要打印出孪生素数。
答案 1 :(得分:0)
使用定义
Twin Prime数字是一对数字,它们都是素数和 他们的差别是2。
问题主要是确定1到1000之间的所有素数,然后在上述意义上寻找双胞胎。
确定如此小间隔的素数的一种简单方法是Eratosthenes筛选。它在O(n log log n)操作中运行,需要O(n)内存。
但是即使你不知道这种方法,你可能会成功地强制这个n = 1000的问题实例,一个简单的除法应该揭示[1,n]中约O(n ^ 2)的所有素数。操作
答案 2 :(得分:0)
这是我在蓝色Java中使用双素数的代码。
但是如何以正确的顺序打印并小于100。
public class twin_prime
{
public static void main(int n)
{
int i,j;
int p=n;
int q=n+2;
int c=0;
int co=0;
int f=q;
System.out.println(" the no you had input is "+n);
System.out.println("the second number will be taken at a difference of 2 ");
System.out.println("the second number is :"+q);
for(i=1;i<=n;i++)
{
if(p%i==0)
{
c=c+1;
}
}
if(c==2)
{
System.out.println("no. is prime");
}
for(j=1;j<=q;j++)
{
if(f%j==0)
{
co=co+1;
}
}
if(co==2)
{
System.out.println("no. is twin prime");
}
}
}
答案 3 :(得分:0)
我不知道此代码将能够解决您的问题。如果我了解您的任务,那么此代码可以为您提供帮助。 (对不起。我的英文不太好!)希望能帮到你。
public class twinPrime {
public static void main(String[] args){
int ct=0, n=0, i=1, j=1, db=0;
int[] array= new int[25]; // 1 between 100 there are 25 pieces
System.out.println("Twin primes paires:");
while(n<array.length) {
j=1;
ct=0;
while(j<=i) {
if(i%j==0) {
ct++;
}
j++;
}
if(ct==2) {
//System.out.println(i);
array[n]=i; //All prime numbers between 1-100
n++;
}
i++;
}
for( int a=0; a<array.length-1;a++) { //You need array.length-1 because You won't able to array[26]-array[27] because array[27] doesn't exist
//System.out.println("Prime Numbers:"+array[a]);
if(array[a]-array[a+1]==-2) {
db++;
System.out.println(array[a]+"\t|\t"+array[a+1]);
}
}
System.out.println("Number of TwinPrime: "+db);
}
}
答案 4 :(得分:-1)
//概念是每个素数都是形式(6n-1)或(6n + 1)形式,除了2和3
#include<iostream>
using namespace std;
int fact(unsigned long long int );
int main(){
unsigned long long int n;
cout<<"Enter the number upto which you want prime numbers\n";
cin>>n;
cout<<"List of prime number is as follows"<<endl;
cout<<"(3,5)";
for(unsigned long long int i=5;i<=n;i+=6){
int d,e;
d=fact(i);
e=fact((i+2));
if(d==1 && e==1)
cout<<",("<<i<<","<<(i+2)<<")";
}
cout<<"\n";
return 0;
}
int fact(unsigned long long int x){
if(x%2==0 || x%3==0)
return 0;
for(unsigned long long int j=5;j*j<=x;j+=6)
{
if(x%j==0 || x%(j+2)==0)
return 0;
}
return 1;
}