Source code for submission s847

Go to diff to previous submission

fl.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. char znak;
  31. int nsd;
  32. int pocet;
  33. while((znak = getchar()) != EOF) // "1"
  34. {
  35. if((znak = getchar()) == EOF) // "/"
  36. return 0;
  37.  
  38. scanf("%d", &N);
  39.  
  40. //int a=2*N, b=2*N;
  41. pocet = 1;
  42.  
  43. int b_cit, b_jmen;
  44. for(int a=2*N-1; a>N; a--) // pocminka ??
  45. {
  46. b_cit = a*N;
  47. b_jmen = a-N;
  48.  
  49. nsd = NSD(b_cit, b_jmen);
  50. //printf("... cit=%d, jmen=%d, nsd=%d\n", b_cit, b_jmen, nsd);
  51. if(nsd == b_jmen)
  52. {
  53. pocet++;
  54. //printf("Nalezeno! 1/%d + 1/%d\n", a, b_cit/b_jmen);
  55. }
  56. }
  57. printf("%d\n", pocet);
  58.  
  59.  
  60. if((znak = getchar()) == EOF) // New Line
  61. return 0;
  62. }
  63.  
  64.  
  65. /**
  66.   for(int i=1; i<=10000; i++)
  67.   {
  68.   for(int j=i; j<=10000; j++)
  69.   {
  70.   if(i*j > N*(i+j))
  71.   {
  72.   //printf("Break: 1/%d + 1/%d\n", i, j);
  73.   ; //break;
  74.   }
  75.  
  76.   // mensi
  77.   cit_new = i+j;
  78.   jmen_new = i*j;
  79.  
  80.   nsd = NSD(jmen_new, cit_new);
  81.   cit_new /= nsd;
  82.   jmen_new /= nsd;
  83.  
  84.   if(cit_new == 1 && jmen_new == N)
  85.   {
  86.   pocet++;
  87.   printf("Nalezeno! 1/%d + 1/%d\n", i, j);
  88.   }
  89.   }
  90.   }
  91.   **/
  92.  
  93.  
  94.  
  95.  
  96.  
  97. return 0;
  98. }
  99.  

Diff to submission s522

f1.cpp

--- 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;
     }