题解 | #将真分数分解为埃及分数#

将真分数分解为埃及分数

https://www.nowcoder.com/practice/e0480b2c6aa24bfba0935ffcca3ccb7b

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
void huajian(int* a, int* b)
{
    if (*a == 1)
        return;
    for (int i = 2; i <= *a; i++)
    {
        if (*a % i == 0 && *b % i == 0)
        {
            *a = *a / i;
            *b /= i;
            huajian(a, b);
            return;
        }
    }

}
int main()
{
    char input[20] = { 0 };
    scanf("%s", input);
    int a, b;
    sscanf(input, "%d/%d", &a, &b);
    int res[20] = { 0 };
    int place = 0;
    huajian(&a, &b);
    for (int i = 2; i < a * b; i++)
    {
        if (a == 1)
        {
            res[place++] = b;
            break;
        }
        if (i * a > b)
        {
            res[place++] = i;
            a = i * a - b;
            b = b * i;
            huajian(&a, &b);
        }

    }
    printf("1/%d", res[0]);
    if (place > 1)
    {
        for (int i = 1; i < place; i++)
            printf("+1/%d", res[i]);
    }
}
全部评论

相关推荐

这是什么操作什么意思,这公司我服了...
斯派克spark:意思是有比你更便宜的牛马了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 14:00
不想多说了,什么逆天HR,还要教我礼貌😂
机械打工仔:这不纯傻卵吗,他还操心上别人老板了
投递BOSS直聘等公司7个岗位
点赞 评论 收藏
分享
07-11 13:16
湖南工学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务