Day43~实现一个算法求一个数字的树根

实现一个算法求一个数字的树根。介绍如下:

  • 将一正整数 N 的各个位数相加(即横向相加)后,若加完后的值大于等于 10 的话,则继续将各位数进行横向相加直到其值小于 10 为止所得到的数,即为数根。
  • 例如对于数字 12345,有 1+2+3+4+5=15,1+5=6,则 12345 的数根为6。
cpp 复制代码
#include <stdio.h>

void func(int num)
{
    int sum = 0;
    while (num >= 10)
    {
        sum += num % 10;
        num /= 10;
    }
    sum += num;

    if (sum >= 10)
    {
        func(sum);
    }
    else
    {
        printf("%d\n", sum);
    }
}

int main(int argc, char **argv)
{
    int num;

    scanf("%d", &num);

    func(num);

    return 0;
}
相关推荐
guygg884 小时前
两轮车MATLAB仿真程序的实现方法
开发语言·matlab
smj2302_796826524 小时前
解决leetcode第3801题合并有序列表的最小成本
数据结构·python·算法·leetcode
yugi9878384 小时前
异构网络下信道环境建模方法及应用
开发语言·网络
小北方城市网4 小时前
第 11 课:Python 全栈项目进阶与职业发展指南|从项目到职场的无缝衔接(课程终章・进阶篇)
大数据·开发语言·人工智能·python·数据库架构·geo
Thetimezipsby4 小时前
Go(GoLang)语言基础、知识速查
开发语言·后端·golang
栗少4 小时前
英语自学手册:系统化进阶指南基于《英语自学手册》的方法论与行动路径
人工智能·算法
以太浮标4 小时前
华为eNSP模拟器综合实验之-BGP路由协议的配置解析
服务器·开发语言·php
Xの哲學5 小时前
深入解析 Linux systemd: 现代初始化系统的设计与实现
linux·服务器·网络·算法·边缘计算
宠..5 小时前
优化文件结构
java·服务器·开发语言·前端·c++·qt
sinat_255487815 小时前
InputStream/OutputStream小讲堂
java·数据结构·算法