各个位数字相加

发布时间 2023-10-26 02:35:21作者: LIJIACHENG~

给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。

my code:忽略了num为零;不知道如何对不为一位数的结果再次循环;

正解:

int addDigits(int num){
   
    while(1){
        int  ans = 0;
            while(num){
                ans += num % 10;
                num /= 10;
            }  
                if(ans < 10){
                    return ans;
                }
                    num = ans;
    }
}
 
 
领悟:可以在结果不满足,仍要继续相同循环时外套死循环,直到出结果,适用于内部一定可以得到结果的循环,或者是可以用递归做的循环