給定兩個整數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
以上是將分數化簡為最簡形式的C++程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!