首页 > 技术文章 > 数字根问题

lfsblack 原文

问题描述:
数字根是指对一个整数,把它的各位数字相加,若其和为一位数,则此和即为其根,若不是一位数字,则把它的各位数字继续相加,直到其和为一个正整数为止。例如对于正整数24,因为2+4=6,和为1位数,所以6即为其根。对于39,因为3+9=12,和不为个位数,继续相加,1+2=3,3为个位数,则为数字的根。要求输入若干个正整数,以0为结束,输出每个正整数的根

unsigned foo( unsigned n )
{
    while( n > 9 )
        n = n%10 + n/10;
    return n;
}

推荐阅读