SRM 315 Div1 Easy DigitsSum

SRMの過去問も演習録をつけることにした。

問題概要

与えられた整数に対して、各桁の和を計算する。和が一桁になるまでこの操作を繰り返すとき、最後に得られる整数を求めよ。


Div2のような問題だ……

解法

各桁の和が1桁になる(=10未満になる)まで繰り返す操作をそのまま書けばよい。
これは再帰により実装すると書きやすいかもしれない。

ソースコード
	int lastDigit(int n) 
	{
		if(n<10)return n;
		int m=0;
		for(;n;n/=10)m+=n%10;
		return lastDigit(m);
	}
System Test

Passed.