Wyznaczanie 10 liczb bliźniaczych

0

Hej, jak mogę przerobić ten kod by bez przyjmowania górnego przedziału wyznaczało mi 10 par bliźniaczych?

#include <iostream.h>
using namespace std;
int main()
{
    cout << "Liczby blizniacze\n";
    int n;
    cout << "Podaj gorny przedzial: ";
    cin >> n;
    n++;
    bool tablica[n];
    // zerowanie tablicy
    for(int i = 2; i < n; i++)
            tablica[i] = true;
    // czy liczba jest liczbą pierwszą (Sito Euklidesa)
    for(int i = 2; i < n; i++)    
            for(int l = i+1; l < n; l++)
                    if(l % i == 0)
                    {
                         tablica[l] = false;
                    }
    // czy liczby są bliźniacze
    for(int i = 0; i < n;i++)
            for(int l = 0;l < n; l++)
                    if(tablica[i] == true && tablica[l] == true)
                                  if(i - l == 2)
                                                cout << i << " " << l << endl;
     system("pause");
     return 0;
}
0

Tak to wygląda w pseudo kodzie:) (w bibliotece Euler jest Miller Rabin):

import Euler as eu
result = []
i = 2
while True:
    if eu.is_prime(i) and eu.is_prime(i + 2):
        result.append(i)
        if len(result) == 10:
            print(result)
            break
    i += 1

1 użytkowników online, w tym zalogowanych: 0, gości: 1