Source code for submission s1017

Go to diff to previous submission

fl.cpp

  1. //
  2. // File: flcc.cc
  3. // Author: cteam025
  4. //
  5. // Created on October 19, 2013, 11:13 AM
  6. //
  7.  
  8. #include <cstdlib>
  9. #include <cstdio>
  10. #include <cmath>
  11.  
  12. //
  13. //
  14. //
  15. int main(int argc, char** argv) {
  16. int n;
  17. int count;
  18.  
  19.  
  20.  
  21. int nx_ny;
  22. int rozdil,rozdil2;
  23. while(1==scanf(" 1/%d", &n)){
  24. count = 0;
  25. for(int x=n+1;true;x++){
  26. if (x > 2*n) break;
  27. for(int y=x;true;){
  28. nx_ny = n*x+n*y;
  29. rozdil=nx_ny - x*y;
  30. if(!(rozdil%(x-n))){
  31. count++;
  32. }
  33. break;
  34. printf("x %d y %d ",x,y);
  35. if(rozdil==0){
  36. count++;
  37. break;
  38. }
  39. if(rozdil2==0){
  40. count++;
  41. break;
  42. }
  43. if(rozdil2>rozdil)break;
  44.  
  45. if(rozdil<0)
  46. break;
  47. // y+=rozdil;
  48. y+=rozdil/(rozdil-rozdil2);
  49. // y++;
  50.  
  51. }
  52. }
  53. printf("%d\n", count);
  54. }
  55. return (EXIT_SUCCESS);
  56. }
  57.  
  58.  

Diff to submission s775

fl.cpp

--- c5.s775.cteam025.fl.cpp.0.fl.cpp
+++ c5.s1017.cteam025.fl.cpp.0.fl.cpp
@@ -14,28 +14,39 @@
 //
 int main(int argc, char** argv) {
-    int intn;
+    int n;
     int count;
-    int ij, soucin;
-    double x,y,n;
-    while(1==scanf(" 1/%d", &intn)){
+    
+    
+    
+    int nx_ny;
+    int rozdil,rozdil2;
+    while(1==scanf(" 1/%d", &n)){
         count = 0;
-        n = intn;
-        for(int i=intn+1;true;i++){
-            x = i;
-            if (i > 2*intn) break;
-            for(int j=i;true;j++){
-                y = j;
-                ij = i*j;
-                soucin = intn*j+intn*i;
-                if(soucin==ij){
+        for(int x=n+1;true;x++){
+            if (x > 2*n) break;
+            for(int y=x;true;){
+                nx_ny = n*x+n*y;
+                rozdil=nx_ny - x*y;
+                if(!(rozdil%(x-n))){
+                    count++;
+                }
+                break;
+                printf("x %d y %d ",x,y);
+                if(rozdil==0){
                     count++;
                     break;
                 }
-//                if(soucin<ij){
-//                    break;
-//                }
-                if(1/x+1/y<1/n){
+                if(rozdil2==0){
+                    count++;
                     break;
                 }
+                if(rozdil2>rozdil)break;
+                
+                if(rozdil<0)
+                    break;
+//                y+=rozdil;
+                y+=rozdil/(rozdil-rozdil2);
+//                y++;
+                
             }
         }