卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章17800本站已运行3327

将分数化简为最简形式的C++代码

将分数化简为最简形式的C++代码

给定两个整数Num1和Num2作为输入。这两个整数可以表示为分数Num1/Num2。目标是将该分数化简为最简形式。

使用最大公约数(GCD)找到最大分母

  • 我们将计算这两个数的最大公约数。

  • 将这两个数都除以最大公约数。

  • 将这两个变量设置为除法后的商。

  • 最简分数将为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
卓越飞翔博客
上一篇: PHP中的gmp_legendre()函数
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏