1. 程式人生 > >CCF NOI1035. 數根 (C++)

CCF NOI1035. 數根 (C++)

1035. 數根

題目描述

數根是這樣定義的:對於一個正整數n,將它的各個數位上的數字相加得到一個新數,如果這個數是一位數,我們就稱之為n的數根,否則重複處理直到它成為一個一位數。

例如,n=34,3+4=7,7是一位數,所以7是34的數根。

再如,n=345,3+4+5=12,1+2=3,3是一位數,所以3是345的數根。

對於輸入數字n,程式設計計算它的數根。

輸入

輸入正整數n。

輸出

輸出n的數根。

樣例輸入

345

樣例輸出

3

資料範圍限制

1<=n<231

C++程式碼

#include
<iostream>
#include <cassert> using namespace std; int main() { int n; cin >> n; assert(n >= 1); int sumOfDigits = 0; while(1) { while(n > 0) { sumOfDigits += n%10; n /= 10; } if (sumOfDigits <
10) { break; } else { n = sumOfDigits; sumOfDigits = 0; } } cout << sumOfDigits << endl; return 0; }