正整數的數字根是將數位上的數字求和進行計算而來。如果各位數字之和為一位的整數,那么這個整數就是這個數的數字根;如果之后為多位數,那么重復運用此規則進行計算直至求出一個一位數。例如12,那么它的數字根就為1+2=3;例如39那么它的數字根就為3+9=12,1+2=3,最終為3。
輸入
每行輸入一個正整數,輸入0表示結束。
輸出
輸出一個一位數。
樣例輸入
24 39 0
樣例輸出
6 3
#include <stdio.h> int f(int n){ if (n <= 9){ return n; } int r = 0; while (n > 0){ r += n%10; n /= 10; } return f(r); } int main(){ char s[1024]; int len, i, n; while (scanf("%s", s) == 1){ if (s[0]=='0' && s[1]=='\0'){ break; } for (len=0; s[len]; ++len); n = 0; for (i=0; i<len; ++i){ n += s[i]-'0'; } printf("%d\n", f(n)); } return 0; }