#DIG12. 【进阶】反复计算数位和

    ID: 5368 传统题 1000ms 128MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>C++循环while循环do-while循环拆位嵌套循环进阶

【进阶】反复计算数位和

【进阶】反复计算数位和

题目描述

给定一个非负整数 n。当 n 不是一位数时,把它的所有数字相加得到一个新数,并重复这个过程,直到 n 变成一位数。请输出最终的一位数,以及一共进行了多少次数位和计算。

输入格式

输入一个非负整数 n。

输出格式

输出两个整数:最终得到的一位数、进行数位和计算的次数,中间用一个空格分隔。

数据范围

0 ≤ n ≤ 10^18 - 1。

样例 1

输入数据 1

9875

输出数据 1

2 3

运行环境

C++17,标准输入输出。

提示

本题属于“循环拆位”练习。核心操作是:

int digit = n % 10;  // 取个位
n /= 10;             // 去个位