f1.cpp
#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()
{
getchar();
getchar();
scanf("%d", &N);
int cit_new, jmen_new;
int nsd, nsd2;
int pocet = 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);
}
}
}
**/
//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);
return 0;
}