這個題目的意思很簡單,很多人之是以送出不通過是因為 用的 int型處理資料,這樣當資料很大時就不能用了,是以不過。
還有一個難點就是如果加和得到的樹根>10該怎麼寫函數處理?
這裡有一個很簡單的數學方法,叫做:
一個數的樹根就是該數mod9的餘數,特殊的,mod9 ==0 ,樹根為9
是以從這個題上面我看到了數學的魅力
附上可送出代碼:
#include <iostream>
#include <string.h>
using namespace std;
int Addnum(char *num) { //利用字元串處理數
int sum=;
char *p = num;
while(*p){
sum+=*p-'0';
p++;
}
return sum;
}
int main(){
char num[];
while(cin>>num && strcmp(num,"0")!=){
int temp=Addnum(num);
if(temp%==){
cout<<<<endl;
}
else
cout<<temp%<<endl;
}
}