發表於 C++CPEUVA兩顆星

【CPE】UVA 13185 DPA Numbers I 兩顆星 by C++

13185 DPA Numbers I

簡易翻譯和條件:

這題雖然是兩顆星但是其實沒有很難~
主要就是判斷輸入的數字是屬於哪一種型態的數字
判斷方法是用數字本身和他的因數合關係來判斷的

因數和 < 數字本身 ==> deficient
因數和 = 數字本身 ==> perfect
因數和 > 數字本身 ==> abundant

我會利用 inline 是因為這樣速度會比較快。
我不確定這題不用 inline 會不會影響但是這樣比較保險嘛~
找因數好像有比較快一點的方法
不過我這邊直覺是這樣寫我就直接 Submit 了~(然後就對了XD

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

程式碼:

#include <iostream>

using namespace std;

inline string cal(int n){
    int sum=0;
    for(int i=1; i<n; i++){
        if(n%i==0) sum+=i;
    }
    if (sum < n) return "deficient";     
    else if(sum == n) return "perfect";
    else if(sum > n) return "abundant";
}

int main()
{
    int t=0;
    cin >> t;
    int n;

    while(t--){
        cin >> n;
        cout << cal(n) << endl;
    }
    return 0;
}

13185

廣告

作者:

一位 熱愛資工領域、喜歡好笑事物、偶爾打打網球 的學生 ! 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.