發表於 C++CPE考古題UVA一顆星

【CPE】UVA 11332 Summing Digits 一星必考題 by C++

11332 Summing Digits

簡易翻譯和條件:

題目要求將輸入的數字分位數相加,直到總和小於10為止輸出即可。

這題也是一題給C++初學者寫的題目喔!很好的練習題

就單純照著題目要求刻出一個演算法吧!

這題我的解法貌似麻煩了一點,因為一開始我就考慮了如果輸入數字超過 2的32次方的話我應該要用 string 處理才對!

但是題目的數字並不會超過喔! 所以其實直接用 int 就可以處理了!

我的字串處理方式是用 ascii 減掉 ‘0’ 就可以算出來字元所代表的數字是多少了!

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

程式碼:

#include iostream
#include string
using namespace std;
inline int f(string s){
    int ans = 0;
    for(size_t x=0; x<s>&gt; s){
        if(s=="0"){
            break;
        }
        int ans = f(s);
        while(ans &gt;= 10){
            ans = f(ans);
        }
        cout &lt;&lt; ans &lt;&lt; endl;
    }
    return 0;
}


UVA CPE 一星必考題 11332 Summing Digits 題目

作者:

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