此題為出自zerojidge 基礎題a024
以下是我寫出來的答案
(一)沒有class版本
#include <iostream>
using namespace std;
// 函數:計算最大公因數
int gcd(int num1, int num2);
int main()
{
int num1, num2;
cin >> num1 >> num2;
cout << gcd(num1, num2) << endl;
return 0;
}
// 實現 gcd 函數
int gcd(int num1, int num2)
{
while (num2 != 0)
{
int temp = num2;
num2 = num1 % num2;
num1 = temp;
}
return a; // 返回計算結果
}
點我看程式碼
(二)有class版本
#include <iostream>
using namespace std;
// 定義一個結構 GCD,用於存儲兩個整數
struct GCD
{
int num1; // 第一個整數
int num2; // 第二個整數
};
// 函數原型聲明:計算兩個整數的最大公因數
int gcd(int num1, int num2);
int main()
{
GCD gcdCalculator; // 創建 GCD 結構的實例
int num1,num2;
num1=gcdCalculator.num1;
num2=gcdCalculator.num2;
// 讀取用戶輸入的兩個整數
cin >> num1 >> num2;
// 調用 gcd 函數並將結果輸出
cout << gcd(num1, num2) << endl;
return 0;
}
// 實現 gcd 函數,用於計算最大公因數
int gcd(int num1, int num2)
{
while (num2 != 0)
{
int temp = num2; // 暫存 num2 的值
num2 = num1 % num2; // 計算 num1 除以 num2 的餘數,並賦值給 num2
num1 = temp; // 將 num1 設置為之前的 num2 值
}
return num1; // 當 num2 為 0 時,num1 即為最大公因數,返回結果
}
全站熱搜
留言列表