中北程序賽 計算數字的根

每個正整數通過每一位的求和都可以找到一個對應的根值.如果求和的結果是一位數字,那麼這個數字就是這個正整數的根,如果這個值是兩位或多位的話,重複上面的求和,直到求和結果爲一位數字.

例如:考慮正整數24.把2和4相加得到6.6是一個數字,那麼6就是24的根.現在考慮正整數39,3+9=12,12不是一位數.那麼重複相加1+2=3,所以得到3爲39的根.

現給定數據求該數的根.

輸入描述

輸入數據第一行有一個正整數N,表示下邊有N個數據要計算. 接下來分別是N行需要求根的正整數m. 其中( 1 ≤ m ≤ 1050 )

注:1050表示10的50次方

輸出描述
輸出這N個正整數的根,每個根佔一行.
樣例輸入
3
24
39
987654321
樣例輸出
6
3

#include<cstdio>
#include<cstring>
using namespace std;

int main(){
	int n;
	char arr[60];
	scanf("%d", &n);
	for(int i = 0; i < n; i++){
		scanf("%s", arr);
		int x = 0;
		for(int j = 0; j < strlen(arr); j++){
			x += arr[j] - '0';
		}
		int ans;
		if(x % 9 ==0) ans = 9;
		else ans = x % 9;
		printf("%d\n", ans);
	}
	return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章