埃及分数

简介: 设计一个算法,把一个真分数表示为埃及分数之和的形式。所谓的埃及分数是指分子为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 }

 

相关文章
|
6月前
|
调度
【核心完整复现】基于目标级联法的微网群多主体分布式优化调度
【核心完整复现】基于目标级联法的微网群多主体分布式优化调度
|
11月前
|
存储 弹性计算 运维
【产品动态】阿里云弹性计算产品月刊-10月
阿里云发布高性能计算优化型实例hpc8ae、运维编排服务(OOS)全新升级为系统管理与运维服务;云盘支持快照极速可用能力、轻量应用服务器支持实例监控、计算巢控制台上线服务商申请表单;多云基础设施的统一纳管与运维实践;【金秋云创季】云服务器最低每天只需0.27元、企业必备独享u1实例年付低至 3.8 折……更多前沿云产品动态,尽在弹性计算产品月刊。
|
存储 自然语言处理 关系型数据库
如何使用AnalyticDB PostgreSQL 版实现“一站式全文检索”业务
本文从阿里云用户使用云原生数据仓库AnalyticDB PostgreSQL版(以下简称ADB PG)的实际体验出发,介绍ADB PG如何实现“一站式全文检索”业务,并详细阐述ADB PG使用的优势技术,最后提供对应业务案例分析。
如何使用AnalyticDB PostgreSQL 版实现“一站式全文检索”业务
复选框checkbox的三种状态
复选框checkbox的三种状态
186 0
|
存储 SQL 缓存
进阶干货|一文剖析PolarDB列存索引(IMCI)如何实现极致TopK查询性能?
PolarDB列存索引(IMCI)如何实现极致TopK查询性能
8825 0
进阶干货|一文剖析PolarDB列存索引(IMCI)如何实现极致TopK查询性能?
|
存储 分布式计算 程序员
MapReduce论文中文翻译
<div class="markdown_views"> <p>原文地址: <br><a href="http://labs.google.com/papers/mapreduce.html">http://labs.google.com/papers/mapreduce.html</a></p> <p>译者: alex </p> <h2 id="摘要">摘要</h2>
6857 0
lodash转换字符串
lodash转换字符串
394 0
Py之scorecardpy:scorecardpy的简介、安装、使用方法之详细攻略
Py之scorecardpy:scorecardpy的简介、安装、使用方法之详细攻略
Py之scorecardpy:scorecardpy的简介、安装、使用方法之详细攻略
|
前端开发
Cypress系列(50)- wrap() 命令详解
Cypress系列(50)- wrap() 命令详解
468 0
Cypress系列(50)- wrap() 命令详解
|
消息中间件 存储 SQL
ksqlDB基本使用
ksqlDB基本使用
1227 0
ksqlDB基本使用