解题思路:
最先想到的是把原数对自己的最大埃及数做减法,直到减完为止。
1. 找最大埃及分数

要找出b/a的最大埃及数(a>b)。利用倒数即可推出最大埃及数
a/b = d…k(余数)
a=d * b + k; a /b=d + k /b; b /a= 1 /(d + k /b);
这里的k/b小于1;所以b/a的最大埃及数为1 /(d+1)
分母大的反而小;然后对b/a做减法即可

2 . 对自己循环做减法

令c=d+1;
但不能直接用分数的形式做减法——b/a - 1 /c= ( b * c -a) /(a*c);
然后就进行下一次的找最大埃及数 直到a/b没有余数即可。

3 . 循环出口

当b /a没有余数时,最后的那个埃及分数就为1 /d了;就可以不用再循环了。

代码部分:

#indlude <stdio.h>
void main()
{
int a,b,c,d;
scanf("%d%d",&a,&b);
printf("%d/%d=",a,b);
while(0 != b%a)
{
d=b/a;
c=d+1;
printf(“1/%d+”,c);
a=ac-b;
b=b
c;
}
printf(“1/%d”,b/a);
}

C语言——贪心算法。设计一个算法,把一个真分数表示为埃及分数之和的形式。所谓埃及分数是指分子为1的分数。例如3/5=1/2+1/10相关推荐

  1. 【数据结构和算法设计】算法篇(7) 贪心法

    文章目录 7.1 贪心法概述 7.1.1 什么是贪心法 7.1.2 用贪心法求解的问题应具有的性质 1. 贪心选择性质 2. 最优子结构性质 7.1.3 贪心法的一般求解过程 7.2 求解活动安排问题 ...

  2. 形如:1/a 的分数称为单位分数。 可以把1分解为若干个互不相同的单位分数之和。 例如: 1 = 1/2 + 1/3 + 1/9 + 1/18 1 = 1/2 + 1/3 + 1/10 + 1/1

    形如:1/a 的分数称为单位分数. 可以把1分解为若干个互不相同的单位分数之和. 例如: 1 = 1/2 + 1/3 + 1/9 + 1/18 1 = 1/2 + 1/3 + 1/10 + 1/15 ...

  3. 【数据结构和算法设计】算法篇(11) 概率算法和近似算法

    文章目录 12.1 概率算法 12.1.1 什么是概率算法 1. 概率算法的特点 2. 概率算法的分类 3. 随机数生成器 12.1.2 蒙特卡罗类型概率算法 12.1.3 拉斯维加斯类型概率算法 1 ...

  4. matlab 算法设计,计算方法——算法设计及其MATLAB实现

    引论 0.1 算法重在设计 0.2 直接法的缩减技术 0.3 迭代法的校正技术 0.4 算法优化的松弛技术 小结 习题0 章 插值方法 1.1 插值平均 1.2 Lagrange插值公式 1.3 逐步 ...

  5. c语言程序设计第2章,C语言程序设计第2章 结构化程序设计与算法.ppt

    C语言程序设计第2章 结构化程序设计与算法.ppt 现在人们公认的具有"良好风格"的程序设计方法之一是所谓的"结构化程序设计方法".其核心是规定了算法的三种基本 ...

  6. 算法设计与分析第二章课后作业

    第二章 一.单选题 1 [单选题]给定字符集{a,b,c,d,e,f},若用定长码编码,至少需要几位二进制位() A.1位 B.2位 C.3位 D.4位 正确答案: C 我的答案:C 得分: 5.0分 ...

  7. 基于Python+Open CV的手势识别算法设计

    素材资料下载: 基于Python+OpenCV的手势识别算法设计源代码材料-机器学习文档类资源-CSDN下载采用Python的集成开发环境Pycharm进行本次课程设计,在Pycharm中进行需要库( ...

  8. 数据结构实验报告——排序算法设计及分析(排序单链表)

    一.实验目的和要求 通过学习多种排序算法,体会对同一种操作多种不同的算法设计:通过比较各排序算法对于数据存储结构的要求,体会算法设计不依赖于数据存储结构,而算法实现依赖于数据存储结构:通过分析排序算法 ...

  9. c语言课设宿舍管理程序,C语言程序课程设计宿舍管理软件.doc

    C语言程序课程设计宿舍管理软件.doc 课程设计(论文) 题 目 名 称 宿舍管理软件 课 程 名 称 C语言程序课程设计 学 生 姓 名 学 号 系 .专 业 信息工程系.信息大类 指 导 教 师 ...

最新文章

  1. 中国如何成为一流国家
  2. Qt/PyQt中使用系统全局的快捷键
  3. Web.py Cookbook 简体中文版 - Hello World!
  4. 关于用批处理写ftp上传文件
  5. python tts 保存_Python 文件和目录操作学习
  6. Redis Config Get 命令
  7. 50年代黄岩师专_300多位30、40和50年代获得第一份技术工作的开发人员的故事
  8. SAP License:ReportPainter报表显示JPY等无小数位货币时少两位
  9. 实操长文|评估风控策略效果(全)
  10. sqlite中字符串含有单引号的处理
  11. Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2问题解决
  12. adb重启或关机手机命令
  13. edius隐藏快捷键_EDIUS 常用快捷键
  14. 黄金分割法,你会了吗?
  15. Laravel Scout 包在 Elasticsearch 中的使用记录
  16. 计算机硬件系统外设是指,计算机硬件系统.
  17. mysql的binlog开启方式,查看方式.三种binlog模式介绍.以及使用binlog恢复数据.删除binlog
  18. android来电归属地提醒
  19. 笔记本F1音量键常亮,电脑没声音?这里有妙招。
  20. 360浏览器兼容问题html,该页面显示了360浏览器中的异常兼容性问题

热门文章

  1. 带你由浅入深探索webpack4(二)
  2. 电脑桌面便签如何按农历日历设置便签提醒事项?
  3. 不骗你,没读这一篇,你不可能懂二分
  4. React之antd按需加载
  5. 谷歌机器翻译Attention is All You Need
  6. 马斯洛需求理论:找工作的需求层次分析,您在哪个阶段?
  7. 软件工程学习笔记(七)~编写高质量代码
  8. php 时分秒转时分_PHP函数gmstrftime()将秒数转换成天时分秒
  9. 数据库mysql进阶—trigger触发器
  10. 在知道ip地址的情况下,求合适的子网掩码