首页 > 试题广场 >

大水题

[编程题]大水题
  • 热度指数:11272 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}对于一个数,把它所有位上的数字进行加和,得到新的数。
\hspace{15pt}重复执行若干次,直到结果是个位数为止。输出最终的这个个位数。

输入描述:
\hspace{15pt}在一行上输入一个整数 n \left( 1 \leq n \leq 10^9 \right) 代表初始数字。


输出描述:
\hspace{15pt}在一行上输出一个整数,代表最终的结果。
示例1

输入

38

输出

2

说明

\hspace{15pt}对于这一组测试数据,操作过程为 38 \to 3 + 8 = 11 \to 1 + 1 = 2
示例2

输入

1

输出

1
from functools import reduce
number = eval(input())
def func(n):
    if n<10:
        return n
    else:
        return  func(reduce(lambda y,x: int(x)+int(y),list(str(n))))
print(func(number))

发表于 2024-09-27 14:34:13 回复(0)
迭代直至结果小于10
n = int(input())
while n > 10:
    n = sum(map(int,list(str(n))))
print(n)


编辑于 2024-02-12 21:00:08 回复(0)

问题信息

上传者:牛客303862号
难度:
5条回答 1663浏览

热门推荐

通过挑战的用户

查看代码
大水题