發表於 C++CPEUVA一顆星

【CPE】UVA 11417 GCD 一顆星 by C++

11417 GCD

簡易翻譯和條件:

這題是一顆星題目~
放在CPE第一題必考題中的其中一題
單純累加 0~N 之間 數字的GCD值

比較要注意的是我有多加一個判斷是當 a ==0 時也回傳0
但是我記得n和0的GCD就是n呀(?)
我加上這個判斷才AC(???)
不太確定為什麼是這樣
這個可能要再研究一下下了呢!

如果有任何問題或是你有更好的寫法歡迎再下面留言討論喔!
我們下一題見啦!

程式碼:

#include 
using namespace std;

int GCD(int a, int b){
    if(a==0 && b!=0){
        return a;
    }

    if(b == 0){
        return a;
    }else{
        return GCD(b, a%b);
    }
}

int main()
{
    int n = 0;
    while(cin >> n){
        if(n==0) break;

        int G = 0;
        for(int i=0; i<n; i++){
            for(int j=i+1; j<=n; j++){
                    G += GCD(i, j);
            }
        }
        cout << G << endl;
    }
    return 0;
}
UVA CPE 11417 GCD 題目
UVA CPE 11417 GCD 題目

作者:

一位 熱愛資工領域、喜歡好笑事物、偶爾打打網球 的學生 ! For A Better Me!

發表留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料