在 C++ 中将分数约简到最简形式
给定两个整数 Num1 和 Num2 作为输入。这些整数可以表示为分数 Num1/Num2。目标是将此分数约简到最简形式。
使用最大公约数查找最大分母
我们将计算这两个数字的最大公约数。
将这两个数字除以该最大公约数
将这两个变量设置为除法后的商。
最简分数将为 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 <bits/stdc++.h> 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 = 7 Num2 = 4 Lowest Fraction : 7/4
广告