【Secuencia prima asimétrica】

secuencia prima aritmética

Para buscar una secuencia de números primos aritméticos con una longitud de 10, puede enumerar la tolerancia d de menor a mayor y luego enumerar el primer elemento p de menor a mayor y verificar si p, p+d, p+2d, ..., p+9d son todos números primos.

import java.util.*;

public class PrimeArithmetic {
    
    
    // 判断是否为素数
    public static boolean isPrime(int n) {
    
    
        if (n < 2) {
    
    
            return false;
        }
        int sqrt_n = (int) Math.sqrt(n);
        for (int i = 2; i <= sqrt_n; i++) {
    
    
            if (n % i == 0) {
    
    
                return false;
            }
        }
        return true;
    }

    public static void main(String[] args) {
    
    
        int length = 10;
        int max_d = 1000; // 公差最大值
        for (int d = 1; d <= max_d; d++) {
    
    
            for (int p = 2; p <= 10000; p++) {
    
    
                boolean is_arithmetic = true;
                for (int i = 0; i < length; i++) {
    
    
                    int num = p + i * d;
                    if (!isPrime(num)) {
    
    
                        is_arithmetic = false;
                        break;
                    }
                }
                if (is_arithmetic) {
    
    
                    System.out.println("公差为 " + d + ",首项为 " + p);
                    return;
                }
            }
        }
        System.out.println("未找到长度为 " + length + " 的等差素数列。");
    }
}

La tolerancia de una sucesión aritmética de números primos debe ser relativamente prima con respecto al término principal.

Explicación: suponga que el primer elemento de la secuencia de primos aritméticos es a, la tolerancia es d y a y d tienen un factor común p mayor que 1. Entonces, el segundo término de esta sucesión aritmética de primos es a+d, que también es divisible por p. Por lo tanto, el segundo término de esta sucesión aritmética de primos no es un número primo. Por lo tanto, si la tolerancia de una secuencia de primos aritméticos no es coprima con el primer término, entonces la secuencia de primos aritméticos no puede ser todos números primos.

Supongo que te gusta

Origin blog.csdn.net/m0_60641871/article/details/129391302
Recomendado
Clasificación