fork download
  1. #include "stdio.h"
  2. #define N 1000
  3. void i2divs(int a, int b, char *w)
  4. {
  5. int i;
  6. for (i = 0; i < N; ++i) {
  7. a *= 10;
  8. sprintf(w++, "%d", a / b);
  9. a %= b;
  10. }
  11. }
  12.  
  13. int cmp(char *w, char *s)
  14. {
  15. while (*s) {
  16. if (*w < *s)return -1;
  17. if (*w > *s)return 1;
  18. ++w;
  19. ++s;
  20. }
  21. return 0;
  22. }
  23.  
  24. int main()
  25. {
  26. char s[N + 1], w[N + 1];
  27. int a = 0, b = 1, c = 1, d = 1, t;
  28. printf("input = ");
  29. scanf("%s", s);
  30. while (1) {
  31. i2divs(a + c, b + d, w);
  32. t = cmp(w, s);
  33. if (t == 0)break;
  34. if (t < 0) {
  35. a += c;
  36. b += d;
  37. }
  38. if (t > 0) {
  39. c += a;
  40. d += b;
  41. }
  42. }
  43. printf("%d %d\n", a + c, b + d);
  44. return 0;
  45. }
  46.  
Success #stdin #stdout 0s 1836KB
stdin
Standard input is empty
stdout
input = 1 2