求数字之和的三种算法
https://www.bilibili.com/video/BV1Ra4y1p7Si
题目
例如:1234→1+2+3+4=10
第一种
while 循环
#include<stdio.h>
int f(int n)
{
int ret = 0;
while (n > 0)
{
ret = ret + (n % 10);
n = n / 10;
}
return ret;
}
int main() {
int a = 1234;
int ret = f(a);
printf("ret = %d \n", ret);
return 0;
}
第二种
递归
#include<stdio.h>
int f(int n)
{
if (n == 0) {
return 0;
}
return n % 10 + f(n / 10);
}
int main() {
int a = 1234;
int ret = f(a);
printf("ret = %d \n", ret);
return 0;
}