描述
分子为1的分数称为埃及分数。现输入一个真分数(分子比分母小的分数,叫做真分数),请将该分数分解为埃及分数。如:8/11 = 1/2+1/5+1/55+1/110。
注:真分数指分子小于分母的分数,分子和分母有可能gcd不为1!
如有多个解,请输出任意一个。
请注意本题含有多组样例输入!输入描述:
输入一个真分数,String型输出描述:
输出分解后的string示例1
输入:
8/11
2/4输出:
1/2+1/5+1/55+1/110
1/3+1/6说明:
第二个样例直接输出1/2也是可以的

数学家斐波那契提出的一种求解埃及数的贪心算法,准确的算法表述应该是这样的:
设某个真分数的分子为a,分母为b;
把c=(b/a+1)作为分解式中第一个埃及数的分母;
将a-b%a作为新的a;
将b*c作为新的b;
如果a等于1,则最后一个埃及数为1/b,算法结束;
如果a大于1但是a能整除b,则最后一个埃及数为1/(b/a),算法结束;
否则重复上面的步骤。

专注

#include <stdio.h>#if 1
#define dbg printf
#else
#define dbg
#endifvoid calcu(int a, int b)
{int q, r;if(a == 0){printf("\n");}else if(b%a == 0){printf("1/%d\n", b/a);}else{q = b/a;r = b%a;printf("1/%d", q+1);if(a-r != 0){printf("+");}calcu(a-r, (q+1)*b);}
}int main(void)
{int a, b;while(scanf("%d%*c%d", &a, &b) != EOF){if(b%a != 0){calcu(a, b);}else{printf("1/%d\n", b/a);}}return 0;
}

HJ82 将真分数分解为埃及分数(需要知道求埃及数的数学方法)相关推荐

  1. 埃及分数问题c语言,埃及分数问题(转)

    今日,小雨和小明来到网络中心,继续与刘老师讨论"数的认识"问题. 刘老师说:"还有一种'埃及分数'需要认识.这是一类分裂分数的思维题,对思维能力的训练很有价值." ...

  2. 埃及分数c语言设计,埃及分数(四)

    最优分解 源程序 下面就是求埃及分数最优分解的 C 语言源程序 EgyptianFraction.c: 1: #include 2: #include 3: #include 4: 5: const ...

  3. 埃及分数怎么计算java_埃及分数之斐波那契法

    斐波那契法(即贪心算法) 源程序 在"埃及分数(一)"中,我们讨论了斐波那契法(即贪心算法).现在使用 Haskell 语言写一个程序来实现该算法吧,下面就是 fib.hs: 1: ...

  4. python埃及分数_C语言将真分数分解为埃及分数代码解析

    问题描述 现输入一个真分数,请将该分数分解为埃及分数. 问题分析 真分数:分子比分母小的分数,叫做真分数.真分数的分数值小于1.如1/2,3/5,8/9等. 分子是1的分数,叫单位分数.古代埃及人在进 ...

  5. python埃及分数式_埃及分数

    埃及分数 分数,连小学生都知道,例如 1/2 , 3/5 .可是你是否知道,还有一种单分子分数, 即分子为 1 ,分母为任意数.这种分数叫埃及分数,或者叫单分子分数. 埃及同中国一样,也是世界上著名的 ...

  6. 贪心埃及分数函数c语言,贪心算法之埃及分数问题

    1.问题描述java 把一个真分数表示成最少的埃及分数之和.算法 埃及分数即分子为1的分数.测试 2.问题分析spa 一.贪心算法的思想在本问题中的体现为在每一步的分解中都寻找最大的埃及分数..net ...

  7. IDDFS学习笔记-埃及分数

    迭代加深搜索算法(iterative deepening depth-first search (IDS or IDDFS)) 可以被视作是广度优先搜索算法(BFS)和深度优先搜索算法(DFS)的结合 ...

  8. 埃及分数(附带注释)

    埃及分数 题目 答案 题目 埃及分数:分子为1的分数. 将输入的分数转换为埃及分数和的形式.要求用最少的埃及分数之和表示. 输入格式: 第1行输入分子m和分母n 输出格式: 首先原样输出该分数,然后输 ...

  9. 华为机试HJ82:将真分数分解为埃及分数

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 分子为1的分数称为埃及分数.现输入一个真分数(分子比分母小的分数,叫做真分数),请将 ...

  10. 将真分数分解为埃及分数(斐波那契算法步骤)Java

    package com.patience.interview.huawei;import java.util.Scanner;/*** 将真分数分解为埃及分数* @author Green.Gee* ...

最新文章

  1. java speex回声消除_speex 回声消除的用法
  2. 【bzoj4842】[Neerc2016]Delight for a Cat 线性规划与网络流
  3. SamplePairing:针对图像处理领域的高效数据增强方式 | PaperDaily #34
  4. shutil.rmtree()
  5. 统一的.NET文档体验发布
  6. 【Wax】使用Wax (framework方式,XCode 4.6)
  7. ICCV2021 workshop 多视角残缺点云的补全与配准
  8. win7 vmware ubuntu16 xshell链接
  9. Python2.5.4移植到arm-linux
  10. 算法设计——极大极小搜索
  11. 模电摸索日记之《模电基础》
  12. Android抓包思想总结
  13. java NEW一个对象之后加入大括号
  14. UI——day15.H5和小程序的设计
  15. layui模板语言,渲染表格分组合并行
  16. 方面级情感分析论文阅读《A Survey on Aspect-Based Sentiment Analysis: Tasks, Methods, and Challenges》
  17. 关于Protel 2004 绘制电路原理图——元件库的建立
  18. 蓝桥杯练习系统-基础练习
  19. Aria2 在 macOS 上的详细安装教程!
  20. CMUSphinx免费离线语音识别开源库教程iOS开发

热门文章

  1. Freeze the Discriminator a Simple Baseline for Fine-Tuning GANs
  2. iOS最新面试题(一)
  3. ffmpeg linux 升级_linux系统部署ffmpeg视频转码环境及使用方法 | linux系统运维
  4. 算法导论第三章思考题
  5. 前端开发中PC端和移动端网站的区别
  6. 轻轻松松背单词软件测试,完美单词王app
  7. mix3android auto,小米MIX3滑盖全面屏值不值得买?三天真实体验说说优缺点
  8. 前端面试题及解答(尽量口语化,模拟面试现场时的回答)
  9. matlab里mod函数什么意思,mod函数_excel中mod函数的使用方法
  10. 按照是否执行程序分类