java - 性感素数特定打印和计数

标签 java

好吧,我的代码很好,但是我不只是显示素数,我需要它来显示匹配的对以及有多少对,我知道这可能需要进入过程筛,我总结我将需要一个计数系统,但是我不明白如何将它们配对以进行打印。

这就是它们应该打印出来的方式

以下是 1 到 42 范围内的所有性感素数对,每行一对:

5 and 11 
7 and 13 
11 and 17 
13 and 19 
17 and 23 
23 and 29 
31 and 37 

展示了 7 个性感的素数对。

import java.util.Scanner;

public class aleko_Sieve
{

Scanner in = new Scanner(System.in);
boolean primes [] = new boolean [50001];
int upperbnd;
int lowerbnd;

public aleko_Sieve ()
{

    primes[0] = false;
    primes[1] = false;

    for (int i = 2; i < primes.length; i++)
    {
        primes[i] = true;

    }

    getLower();
    getUpper();
    processSieve();
    showPrimes();
}

public void processSieve()
{

    for (int i =2; (i * i) <= upperbnd; i++)
    {

        for (int j = (i * i); j <= upperbnd; j = j + i)
        {

            primes[j] = false;
        }
    }
}

public void getLower()
{
    int x=0;
    do
    {
    System.out.println("Please enter a lower boundary ( 1 - 50000): ");
    lowerbnd = in.nextInt();
    if (( lowerbnd < 1) || (lowerbnd > 50000))
    {
        System.out.println("Please enter a valid number");
        x = 1;
    }
    if (( lowerbnd > 1) || (lowerbnd < 50000))
    {
        x = 0;
    }
    }
    while ( x == 1);
}

public void getUpper()
{
    int x=0;
    do
    {
    System.out.println("Please enter a upper boundary ( 1 - 50000): ");
    upperbnd = in.nextInt();
    if (( upperbnd < 1) || (upperbnd > 50000))
    {
        System.out.println("Please enter a valid number");
        x = 1;
    }
    if (( upperbnd > 1) || (upperbnd < 50000))
    {
        x = 0;
    }
    }
    while ( x == 1);
}

public void showPrimes()
{
    for (int i = 2; i < upperbnd; i++)
    {
        if (primes[i] == true)
        {
            System.out.println( i + " is prime");
        }
    }
}

public static void main (String args[])
{
    aleko_Sieve p = new aleko_Sieve();
}
}

最佳答案

当你要打印素数时,看看比你刚刚找到的当前索引低6的索引是否是素数,然后将它们都打印出来。

//if found prime
if (i > 6)
{
    if (prime[i-7]==true)
    //print both primes
}

关于java - 性感素数特定打印和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23098154/

相关文章:

Java工厂模式如何让具体产品实例化自己

java - 在一个简单的Spring+Hibernate应用程序中,如何解析 "Unrecognized listener type"?

java - 在处理Java中制作绘图板,努力让用户创建一个正方形

java - Android 中的省电模式以编程方式控制?

java - 在 Jackson 序列化之前更改特定字段值

java - 仅当字符串包含每个列表中的单词时才匹配的正则表达式

java - 在 Android 上使用 Fragment

java - Spring security 同一子网下的多个IP

java - 如何在android studio项目中包含共享库?

java - Android 多线程应用程序崩溃