将真分数分解为埃及分数

一、问题描述:

 

 

 

二、设计思路:

 

 

三、程序流程图:

 

 

 

 

 

四、代码实现:

#include<stdio.h>
int main()
{
long int a,b,c;
    printf("Please enter a optional fraction<a/b>:");
    scanf("%ld/%ld",&a,&b);
    printf("It can be decomposed to:");
        while(1)
        {
            if(b%a!=0)
            c=b/a+1;
                else
                {
                    c=b/a;
                    a=1;
                }
                if(a==1)
                {
                        printf("1/%ld\n",c);
                    break;
                }
                else
                    printf("1/%ld+",c);
                a=a*c-b;
                b=b*c;
                if(a==3&&b%2==0)
                {
                    printf("1/%ld+1/%ld\n",b/2,b);
                    break;
                }
        }
    return 0;
}

 

posted @ 2023-05-18 23:58  软件拓荒人  阅读(61)  评论(0)    收藏  举报