在 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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP