Witam. Uczę się dopiero programowania i moim zadaniem jest napisanie programu w języku C++, który dla wczytanej liczby parzystej znajdzie przedstawienie tej liczby w postaci sumy dwóch liczb pierwszych (Hipoteza Goldbacha). Wcześniej udało napisać mi się program, który sprawdzał czy liczba jest pierwsza, natomiast gdy próbowałem go zastosować to całość przestała działać. Po wczytaniu liczby program nic nie wypisuje. Dla sprawdzenia dodałem linijkę mająca za zadnie wyświetlac przejścia w pętli i jak się okazało pętla przechodzi tylko raz.
using namespace std;
#include <iostream>
int main()
{
int a,s1=0,s2=0;
cout<<"Podaj parzysta liczbe naturalna wieksza od dwoch, sprawdzimy czy hipoteza goldbacha jest dla niej prawdziwa."<<endl;
cin>>a;
for(int i=0;i<a;i+=1)
{
cout<<a-i;
for(int k=2;k<=i;i+=1)
{
if(i%k!=0) s1++;
}
for(int t=2;t<=(a-i);i+=1)
{
if((a-i)%t!=0) s2++;
}
if(s1==i-2 && s2==a-i-2) cout<<a<<"="<<i<<"+"<<a-i<<endl;
}
return 0;
}