真分数转埃及分数的和 (贪心)
分子为1的分数称为埃及分数。现输入一个真分数(分子比分母小的分数,叫做真分数),请将该分数分解为埃及分数。
例如6/7 = 1/2+1/3+1/42
题目分析:设原分数为a/b,b除a得到c,c+1作为第一个分母,拿a/b-1/c的值做第二个待分解的数直到a==1或者b%a==0
#include <cstdio>
#include <iostream>
#include <string>
using namespace std;string toString(long long x) {string ans = "";while(x) {ans += x % 10 + '0';x /= 10;}int len = ans.length();for (int i = 0; i < len / 2; i ++) {swap(ans[i], ans[len - i - 1]);}return ans;
}int main() {long long a, b;string ans = "";while(scanf("%lld/%lld", &a, &b) != EOF) {long c = 0;int cnt = 0;while (a != 1 && b % a) {cnt ++;if(cnt == 10)break;c = b / a + 1;a = a * c - b;b = b * c;ans += "1/";ans += toString(c);ans += "+";}if (a == 1) { ans += "1/";ans += toString(b);cout << ans << endl;}else {ans += "1/";ans += toString(b / a);cout << ans << endl;}}
}
真分数转埃及分数的和 (贪心)相关推荐
- 贪心:将真分数用埃及分数之和表示
任务描述 本关任务:设计一个算法,把一个真分数 F 表示为埃及分数之和的形式. 编程要求 请在右侧编辑器Begin-End处补充代码,完成本关任务,注意需要学生自己获取真分数再进行编程. 测试说明 平 ...
- 计算机是怎么计算埃及分数,埃及分数问题(贪心算法)
一.问题描述 把一个真分数表示成最少的埃及分数之和. 埃及分数即分子为1的分数.例如 7/8=1/2+1/3+1/24; 1.判断这个分数是不是埃及分数 2.形成1/2 1/3 1/4 --.. ...
- C语言——贪心算法。设计一个算法,把一个真分数表示为埃及分数之和的形式。所谓埃及分数是指分子为1的分数。例如3/5=1/2+1/10
解题思路: 最先想到的是把原数对自己的最大埃及数做减法,直到减完为止. 1. 找最大埃及分数 要找出b/a的最大埃及数(a>b).利用倒数即可推出最大埃及数 a/b = d-k(余数) a=d ...
- 华为机试HJ82:将真分数分解为埃及分数
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 分子为1的分数称为埃及分数.现输入一个真分数(分子比分母小的分数,叫做真分数),请将 ...
- 将真分数分解为埃及分数(斐波那契算法步骤)Java
package com.patience.interview.huawei;import java.util.Scanner;/*** 将真分数分解为埃及分数* @author Green.Gee* ...
- 华为OJ平台——将真分数分解为埃及分数
题目描述: 分子为1的分数称为埃及分数.现输入一个真分数(分子比分母小的分数,叫做真分数),请将该分数分解为埃及分数.如:8/11 = 1/2+1/5+1/55+1/110. 输入: 输入一个真分数, ...
- 贪心埃及分数函数c语言,贪心算法之埃及分数问题
1.问题描述java 把一个真分数表示成最少的埃及分数之和.算法 埃及分数即分子为1的分数.测试 2.问题分析spa 一.贪心算法的思想在本问题中的体现为在每一步的分解中都寻找最大的埃及分数..net ...
- 埃及分数(贪心算法)
https://blog.csdn.net/tterminator/article/details/50930342. 思路为借鉴上个链接,代码为自己所写. 一.问题描述 把一个真分数表示成最少的埃及 ...
- 埃及分数C语言算法,2019-02-27 埃及分数 (贪心算法简单示例)
1 . 问题 埃及分数是指分子是1的分数,也叫单位分数.古代埃及人在进行分数运算时.只使用分子是1的分数.因此这种分数也叫做埃及分数,或者叫单分子分数. [Baidu百科] 给定一个分数,如7/8,我 ...
最新文章
- windows下的linux开发环境Mingw与Cygwin
- [BZOJ 1588][HNOI 2002] 营业额统计
- php 接收 oc 图片上传,php yii2接口中图片上传
- 电脑换ip_代理ip地址怎么换
- c++用一级运算比较大小_Python运算符
- 机器学习代码实战——线性回归(单变量)(Linear Regression)
- Output argument fuse (and maybe others) not assigned during call to
- [转] 为什么用原型,为什么用闭包
- 浏览器插件 如何方便查看md文件内容 markdown
- redis实现CAS
- 阿里云邮箱企业版和个人免费版之间的区别
- 实验室设计规范与标准
- 从零开始搭建一个Vue项目
- IT培训班有用吗?IT培训包就业是真的吗?
- python之global关键字
- 一些vc开发浏览器及插件的资料
- 英语考研——让步状语从句
- python agg函数_python – 将百分位数传递给pandas agg函数
- 不租云服务,也能自建网站
- 2019计算机软件考试笔试答案,2019年下半年软件设计师考试上午真题(含答案)