真分数分解成埃及分数

来源:互联网 发布:软启动器编程 编辑:程序博客网 时间:2024/05/21 16:41
  1 #include <stdio.h>
  2 
  3 int main()
  4 {
  5     long int a, b, c;
  6     printf("Please enter a optional fraction (a/b):");
  7     scanf("%ld/%ld", &a, &b);
  8     printf("it can be decomposed to:");
  9     while (1)
 10     {
 11         if (b%a)
 12         c = b/a + 1;
 13         else
 14         {
 15             c = b/a;
 16             a = 1;
 17         }
 18         if (1==a)
 19         {
 20             printf("1/%ld\n", c);
 21             break;
 22         }

 23         else

 24             printf("1/%ld +",c);
 25         a = a*c - b;
 26         b = b*c;
 27         if (3==a)
 28         {
 29             printf("1/%ld + 1/%ld", b/2, b);
 30             break;
 31         }
 32     }
 33     return 0;
 34 }
                                                      

  [root@localhost 45]# vim optional_fraction.c 
[root@localhost 45]# ./a.out 
Please enter a optional fraction (a/b):8/89
it can be decomposed to:1/12 +1/153 +1/81702 + 1/163404[

原创粉丝点击