Source code for submission s518

Go to diff to previous submission

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

Diff to submission s497

f1.cpp

--- c5.s497.cteam093.fl.cpp.0.f1.cpp
+++ c5.s518.cteam093.fl.cpp.0.f1.cpp
@@ -28,12 +28,33 @@
 int main()
 {
-    getchar();
-    getchar();
-    scanf("%d", &N);
+    char znak;
+    int nsd;
+    int pocet;
+    while((znak = getchar()) != EOF)
+    {
+        getchar();
+        scanf("%d", &N);
+        getchar();
 
-    int cit_new, jmen_new;
-    int nsd, nsd2;
+        //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);
+    }
 
-    int pocet = 0;
 
     /**
@@ -67,24 +88,5 @@
 
 
-    //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;