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

将真分数分解为埃及分数

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

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        while(in.hasNext()){
            String res = new String();
            String[] str = in.next().split("/");
            int[] s = {Integer.parseInt(str[0]),
                       Integer.parseInt(str[1])};
            dfs(s, res);
        }
    }
    
    public static void dfs(int[] s, String res){
        if(s[0]==1||s[1]%s[0]==0){
            res += 1+"/"+ s[1]/s[0];
            System.out.println(res);
            return;
        }
        if(s[1]%(s[0]-1)==0){
            res += 1+"/"+ s[1]/(s[0]-1) + "+";
            s[0] = 1;
        }else{
            int i = s[1]/s[0]+1;
            res += 1+"/"+ i + "+";
            s[0] = s[0]*i-s[1];
            s[1] = s[1]*i;
        }
        dfs(s, res);
    }
}
全部评论

相关推荐

星辰再现:裁员给校招生腾地方
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-15 17:46
暑期就挂了,秋招还有机会吗
大聪明777:研发提前批,14号刚开的,官网上面的配图上有写。提前批没过的话,秋招还可以投,不过前面的笔试/面试记录会被保留,供秋招参考
26届校招投递进展
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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