每日打卡

把真分数分解为埃及分数

问题描述:古埃及人用的分数都是分子为一的分数,将真分数拆分成埃及分数

问题分析:1如果分子为1直接输出

2.分母是分子的倍数,化简后输出 3.如果不能消去的话可以分出一个a/b+1和c出来

代码:#include<stdio.h>

int main()

{

 long int a,b,c;

 printf("请输入a/b的值:");

            scanf("%ld/%ld",&a,&b);

            printf("它可以被分解为:");

            while(1)

            {

              if(b%a)

                     c=b/a+1;

              else

              {

                     c=b/a;

              a=1;

              }

              if(a==1)

              {

                     printf("1/%ld\n",c);

                     break;

              }

              else

                     printf("1/%ld\n+",c);

              a=a*c-b;

              b=b*c;

              if(a==3&&b%2==0)

              {

                     printf("1/%ld+1/%ld\n",b/2,b);

                     break;

              }

            }

}

posted @ 2023-05-18 20:45  麹义  阅读(28)  评论(0)    收藏  举报