Go to diff to previous submission
#include <cstdio> using namespace std; int N; int citatel; int jmenovatel; int NSD(int a, int b) { if(a < b) { int tmp = a; a = b; b = tmp; } int c = a%b; //printf(" -== %d %d %d\n", a, b, c); while(c != 0) { //printf(" --- %d %d %d\n", a, b, c); a = b; b = c; c = a%b; } return b; } int main() { char znak; int nsd; int pocet; while((znak = getchar()) != EOF) // "1" { if((znak = getchar()) == EOF) // "/" return 0; scanf("%d", &N); //int a=2*N, b=2*N; pocet = 1; int b_cit, b_jmen; for(int a=2*N-1; a>N; a--) // pocminka ?? { b_cit = a*N; b_jmen = a-N; nsd = NSD(b_cit, b_jmen); //printf("... cit=%d, jmen=%d, nsd=%d\n", b_cit, b_jmen, nsd); if(nsd == b_jmen) { pocet++; //printf("Nalezeno! 1/%d + 1/%d\n", a, b_cit/b_jmen); } } printf("%d\n", pocet); if((znak = getchar()) == EOF) // New Line return 0; } /** for(int i=1; i<=10000; i++) { for(int j=i; j<=10000; j++) { if(i*j > N*(i+j)) { //printf("Break: 1/%d + 1/%d\n", i, j); ; //break; } // mensi cit_new = i+j; jmen_new = i*j; nsd = NSD(jmen_new, cit_new); cit_new /= nsd; jmen_new /= nsd; if(cit_new == 1 && jmen_new == N) { pocet++; printf("Nalezeno! 1/%d + 1/%d\n", i, j); } } } **/ return 0; }
--- c5.s522.cteam093.fl.cpp.0.f1.cpp +++ c5.s847.cteam093.fl.cpp.0.fl.cpp @@ -31,7 +31,9 @@ int nsd; int pocet; - while((znak = getchar()) != EOF) + while((znak = getchar()) != EOF) // "1" { - getchar(); + if((znak = getchar()) == EOF) // "/" + return 0; + scanf("%d", &N); @@ -56,6 +58,6 @@ - if((znak = getchar()) == EOF) - break; + if((znak = getchar()) == EOF) // New Line + return 0; }