此題為出自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 即為最大公因數,返回結果
}

 

點我看程式碼

 

 

 

arrow
arrow
    全站熱搜

    戰昇 發表在 痞客邦 留言(0) 人氣()