發表於 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!

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.