
给定两个整数Num1和Num2作为输入。这两个整数可以表示为分数Num1/Num2。目标是将该分数化简为最简形式。
使用最大公约数(GCD)找到最大分母
我们将计算这两个数的最大公约数。
将这两个数都除以最大公约数。
将这两个变量设置为除法后的商。
立即学习“C++免费学习笔记(深入)”;
最简分数将为Num1/Num2。
示例
输入 – Num1=22 Num2=10
输出 – Num1 = 11 Num2 = 5
最简分数为:11/5
解释– 22和10的最大公约数为2。
22/2=11,10/2=5
最简分数为11/5
输入– Num1=36 Num2=40
输出– Num1 = 9 Num2 = 10
最简分数为:9/10
解释 – 36和40的最大公约数为4。
40/4=10,36/4=9
最简分数为9/10
下面程序中使用的方法如下
在这个方法中,我们首先使用递归方法计算输入数字的最大公约数。将两个数字除以最大公约数并得到商,这些商将是最简分数的一部分。
获取输入变量Num1和Num2。
函数findGCD(int a, int b)接受num1和num2,并返回两者的最大公约数。
如果b为0,则返回a,否则返回findGCD(b,a%b)。
函数lowestFraction(int num1, int num2)接受两个数字作为输入并打印最简分数。
使用变量denom表示最大公约数。
将num1=num1/denom和num2=num2/denom。
打印num1和num2。
将最简分数打印为num1/num2。
示例
#include using namespace std;int findGCD(int a, int b) { if (b == 0) return a; return findGCD(b, a % b); } void lowestFraction(int num1, int num2){ int denom; denom = findGCD(num1,num2); num1/=denom; num2/=denom; cout<< "Num1 = " << num1<<endl; cout<< "Num2 = " << num2<<endl; cout<< "Lowest Fraction : "<<num1<<"/"<<num2;}int main(){ int Num1 = 14; int Num2 = 8; lowestFraction(Num1,Num2); return 0;}
输出
如果我们运行上面的代码,它将生成以下输出
Num1 = 7Num2 = 4Lowest Fraction : 7/4
以上就是将分数化简为最简形式的C++代码的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1444462.html
微信扫一扫
支付宝扫一扫