Liczby bliźniacze

0

Bardzo bym prosił by ktoś mi pomógł
Od jakiegoś czasu męczę się nad napisaniem programu znajdującego liczby bliźniacze (tj. takie pary liczb pierwszych że ich różnica = 2)
Zmodyfikuje mi ktoś ten kod?
Dodam że potrzebuję to w c++ (jak zresztą widać)
Najlepiej na już :D

#include <iostream>
#include<math.h>
using namespace std;

const int n = 300;

bool numbersTable[n + 1]; // tablica o indeksach od 0 do 100 | wszystkie false (czyli: 0);

int main()
{
for (int i = 2; i*i <= n; i++ ) // przeszukuj liczby od 2 do sqrt(n), 0 i 1 nie są liczbami pierwszymi
{
if (numbersTable[i] == true) // jeżeli dana liczb jest już wykreślona
continue; // to przejdź do kolejnej
for (int j = 2 * i ; j <= n; j += i) // przejdź od liczby 2 * i do n przesuwając się o i
numbersTable[j] = true; // i każdą z nich usuwaj ze zbioru
}

cout << "Liczby pierwsze z przedziału od 0 do " << n << ":" << endl;

for (int i = 2; i <= n; i++) // przeszukaj liczby od 2 do n
	if (numbersTable[i] == false) // jeśli liczba nie została usunięta ze zbioru
		cout << i << endl; // to ją wypisz
	system("PAUSE");
return 0;

}

0

Oto programik który wyklepałem dla Ciebie (mam nadzieje, iż oto chodziło):

Kod Programu:

#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

bardzo dziękuję :*

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