美文网首页
埃及分数

埃及分数

作者: Amosasas | 来源:发表于2017-10-11 00:00 被阅读0次

亲爱的题解被简书吃掉了。。。下面只贴代码。。。

#include <iostream>
#include <algorithm>
#include <cstdlib>
#include <cstdio>
#include <cstring>
using namespace std;
int a,b,maxd,flag;
int ans[15],v[15];
int gcd(int aa,int bb){
    return bb == 0 ? aa : gcd(bb,aa%bb);
}
void dfs(int d,int aa,int bb){
    if(d == maxd){
        if(bb%aa==0 && bb/aa > v[d-1]){
            v[d] = bb/aa;
            for(int i = 1; i <=maxd; i++) cout<<v[i]<<" ";
            cout<<endl;
            if(!flag || v[d] < ans[d])
                for(int i = 1; i <=maxd; i++) ans[i] = v[i];
            flag = 1;
            return;
        }
        return;
    }
    int s = bb/aa+1;
    s = max(s,v[d-1]+1);
    int t = max((maxd-d+1)*bb/aa,s);
    //printf("maxd %d d %d s %d t %d aa %d bb %d\n",maxd,d,s,t,aa,bb);
    for(int i = s;i <= t;i++){
        v[d] = i;
        printf("maxd %d d %d i %d\n",maxd,d,i);
        int aa2 = aa*i-bb;
        int bb2 = bb*i;
        int g = gcd(aa2,bb2);
        dfs(d+1,aa2/g,bb2/g);
    }
}
int main(){
    while(scanf("%d %d",&a,&b) == 2){
        flag = 0;
        for(maxd = 2;maxd <= 10;maxd++){
            memset(v, -1, sizeof(v));
            dfs(1,a,b);
            if(flag){
                printf("%d/%d=",a,b);
                for(int i=1;i<maxd;i++)
                    printf("1/%d+",ans[i]);
                printf("1/%d\n",ans[maxd]);
                break;
            }
        }
        if(!flag)
            printf("No solutuon\n");
    }
}

。。。我知道写得很垃圾。。。因为今天真的很困。。。而且亲爱的轮子哥又在跟我逼逼本科直接找工作不要刷那么多题。。。多做工程。。。问题系。。。我现在不仅做不动而且没人一起做阿。。。。

相关文章

  • 埃及分数

    亲爱的题解被简书吃掉了。。。下面只贴代码。。。 。。。我知道写得很垃圾。。。因为今天真的很困。。。而且亲爱的轮子哥...

  • 2019-02-27 埃及分数 (贪心算法简单示例)

    1 . 问题 埃及分数是指分子是1的分数,也叫单位分数。古代埃及人在进行分数运算时。只使用分子是1的分数。因此这种...

  • 迭代加深搜索 埃及数字

    埃及分数问题 参考lrj紫书:在古埃及,人们用单位分数的和(即1/a,a是自然数)表示一切有理数。例如2/3=1/...

  • 将真分数分解为埃及分数

    1.问题描述 现输入一个真分数,请将该分数分解为埃及分数。 2.问题分析 真分数: 分子比分母小的分数,叫做真分数...

  • 算法竞赛入门迭代加深搜索-埃及分数问题

    [参考链接](https://www.cnblogs.com/TorettoRui/p/10496318.html...

  • 埃及,埃及

    埃及,埃及 “这个暑假我去做志愿者。”“去哪?”“埃及。”“埃及!我也要去!” 这就是我决定去埃及的全过程。去埃及...

  • 埃及埃及

    同事休假,去了埃及。 回来了,抓着她问:埃及漂亮吗?金字塔很神奇吗?热不热? 同事答:漂亮啊,金字塔和神殿都很漂亮...

  • 埃及埃及🇪🇬

    拼音联想输入法想象不出我对埃及一唱三叹的热爱!

  • 新出土的古墓与木乃伊在埃及揭幕

    埃及卢克索埃及(埃及)埃及当局星期六揭开了以前未发现的属于金匠和他妻子的卢旺达附近的老爷爷古埃及。 根据埃及古物部...

  • 雅各全家下埃及

    原先我们分享过,埃及全地分为上下,他们将埃及南方地区称为上埃及,把埃及北方的歌珊地区称作是下埃及。 在约瑟作埃及宰...

网友评论

      本文标题:埃及分数

      本文链接:https://www.haomeiwen.com/subject/jdkiyxtx.html