Source code for submission s497

f1.cpp

  1. #include <cstdio>
  2. using namespace std;
  3.  
  4. int N;
  5. int citatel;
  6. int jmenovatel;
  7.  
  8. int NSD(int a, int b)
  9. {
  10. if(a < b)
  11. {
  12. int tmp = a;
  13. a = b;
  14. b = tmp;
  15. }
  16. int c = a%b;
  17. //printf(" -== %d %d %d\n", a, b, c);
  18. while(c != 0)
  19. {
  20. //printf(" --- %d %d %d\n", a, b, c);
  21. a = b;
  22. b = c;
  23. c = a%b;
  24. }
  25. return b;
  26. }
  27.  
  28. int main()
  29. {
  30. getchar();
  31. getchar();
  32. scanf("%d", &N);
  33.  
  34. int cit_new, jmen_new;
  35. int nsd, nsd2;
  36.  
  37. int pocet = 0;
  38.  
  39. /**
  40.   for(int i=1; i<=10000; i++)
  41.   {
  42.   for(int j=i; j<=10000; j++)
  43.   {
  44.   if(i*j > N*(i+j))
  45.   {
  46.   //printf("Break: 1/%d + 1/%d\n", i, j);
  47.   ; //break;
  48.   }
  49.  
  50.   // mensi
  51.   cit_new = i+j;
  52.   jmen_new = i*j;
  53.  
  54.   nsd = NSD(jmen_new, cit_new);
  55.   cit_new /= nsd;
  56.   jmen_new /= nsd;
  57.  
  58.   if(cit_new == 1 && jmen_new == N)
  59.   {
  60.   pocet++;
  61.   printf("Nalezeno! 1/%d + 1/%d\n", i, j);
  62.   }
  63.   }
  64.   }
  65.   **/
  66.  
  67.  
  68.  
  69. //int a=2*N, b=2*N;
  70. pocet = 1;
  71.  
  72. int b_cit, b_jmen;
  73.  
  74. for(int a=2*N-1; a>N; a--) // pocminka ??
  75. {
  76. b_cit = a*N;
  77. b_jmen = a-N;
  78.  
  79. nsd = NSD(b_cit, b_jmen);
  80. //printf("... cit=%d, jmen=%d, nsd=%d\n", b_cit, b_jmen, nsd);
  81. if(nsd == b_jmen)
  82. {
  83. pocet++;
  84. //printf("Nalezeno! 1/%d + 1/%d\n", a, b_cit/b_jmen);
  85. }
  86. }
  87.  
  88. printf("%d\n", pocet);
  89.  
  90. return 0;
  91. }
  92.