埃及分数

简介: 设计一个算法,把一个真分数表示为埃及分数之和的形式。所谓的埃及分数是指分子为1的分数,如7/8=1/2+1/3+1/24.要求用最少的埃及分数来表示。即:输入A/B,用最少的埃及分数去表示A/B这个分数。

设计一个算法,把一个真分数表示为埃及分数之和的形式。
所谓的埃及分数是指分子为1的分数,如7/8=1/2+1/3+1/24.
要求用最少的埃及分数来表示。
即:输入A/B,用最少的埃及分数去表示A/B这个分数。

贪心算法:

 

 1 #include<stdio.h>
 2 int fun(int A,int B);
 3 int main()
 4 {
 5     int A,B;
 6     scanf("%d%d",&A,&B);
 7     if(A>=B) return 0;
 8     else fun(A,B);
 9     return 0;
10 }
11 int fun(int A,int B)
12 {
13     int D,C,flag=0;
14     printf("%d/%d=",A,B);
15     if(A==1)
16     {
17         printf("%d/%d\n",A,B);
18         return 0;
19     }
20     else 
21     {
22         while(A!=1)
23         {
24             D=B/A;
25             C=D+1;
26             if(flag==0)
27             {
28                 printf("1/%d",C);
29                 flag=1;
30             }
31             else 
32             {
33                 printf("+1/%d",C);
34             }
35             A=A*C-B;
36             B=B*C;
37             if(B%A==0) 
38             {
39                 B=B/A;
40                 A=1;
41             }
42         }
43         printf("+%d/%d",A,B);
44         printf("\n");
45     }
46 }

 

相关文章
|
供应链 算法 数据挖掘
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 23页论文及实现代码
本文介绍了2023年第十一届泰迪杯数据挖掘挑战赛B题的解决方案,深入分析了产品订单数据,并使用Arimax和Var模型进行了需求预测,旨在为企业供应链管理提供科学依据,论文共23页并包含实现代码。
366 0
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 23页论文及实现代码
|
机器学习/深度学习 边缘计算 人工智能
Re0:读论文 PPNP/APPNP Predict then Propagate: Graph Neural Networks meet Personalized PageRank
Re0:读论文 PPNP/APPNP Predict then Propagate: Graph Neural Networks meet Personalized PageRank
Re0:读论文 PPNP/APPNP Predict then Propagate: Graph Neural Networks meet Personalized PageRank
uiu
|
存储 缓存 分布式计算
【两万字总结】Spark安装部署与入门(二)
【两万字总结】Spark安装部署与入门(二)
uiu
399 0
【两万字总结】Spark安装部署与入门(二)
|
SQL 安全 前端开发
ES中SQL查询详解
ES中SQL查询详解
1390 0
ES中SQL查询详解
|
JSON 关系型数据库 大数据
电商项目之用户行为日志字段分析|学习笔记
快速学习电商项目之用户行为日志字段分析
|
消息中间件 NoSQL 前端开发
基于workerman的redis-queue实现异步邮件队列
实验场景:页面被客户访问发送邮件通知到我的邮箱,该场景只是为了测试,下单发送邮件或者短信的场景都是一样的,为了体现出来队列的优越性,我自己封装了个邮件发送的接口,接口内部实现增加了sleep(5),纯粹是为了给接口增加耗时,更好的达标实验效果。
616 0
基于workerman的redis-queue实现异步邮件队列
|
前端开发 API
前后端分离与不分离的本质区别!
前后端不分离 在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。 请求的数据交互如下图:
842 0
前后端分离与不分离的本质区别!
|
测试技术
如何使用云效看板,让需求持续快速地流动和交付
云效看板支持看板方法标准实践,帮助团队更好的协作和管理交付过程。通过云效看板功能可以帮助团队: 更好地可视化端到端价值(需求)流动,确保产品、开发、测试等职能的前后拉通;支持任务按所属模块或不同端展开为子列,确保不同模块或不同端任务向所属的需求对齐;明确定义各列的流转规则,确保在交付过程中内建质量;限制各列工作项的并行数目,促进需求的快速持续交付;凸显交付过程中的问题、瓶颈和阻碍项,让团队聚焦应该关注的问题等。
11997 10
如何使用花刺代理验证快速设置http代理
下面教大家如何使用花刺代理验证,使用软件快速改变上网ip地址;
如何使用花刺代理验证快速设置http代理