计算数根:算法实现及示例
数根是这样定义的:对于一个正整数n,将它的各个数位上的数字相加得到一个新数,如果这个数是一位数,我们就称之为n的数根,否则重复处理直到它成为一个一位数。 例如,n=34, 3+4=7, 7是一位数,所以7是34的数根。 再如,n=345 ,3+4+5=12,1+2=3, 3是一位数,所以3是345的数根。
算法实现
def digital_root(n):
while n > 9:
n = sum(int(digit) for digit in str(n))
return n
# 输入整数
n = int(input('请输入一个整数:'))
# 计算数根
digital_root_n = digital_root(n)
# 输出数根
print(f'整数 {n} 的数根是 {digital_root_n}')
示例
输入一个整数:345
输出:整数 345 的数根是 3
代码解析
digital_root(n)函数:- 使用
while循环,当n大于 9 时,反复计算n各个数位的数字之和,直到n小于等于 9。 sum(int(digit) for digit in str(n)): 将n转换为字符串,然后遍历每个字符,将其转换为整数,并计算所有数字的和。
- 使用
n = int(input('请输入一个整数:')): 从用户输入获取一个整数并将其存储在n中。digital_root_n = digital_root(n): 调用digital_root函数计算n的数根,并将结果存储在digital_root_n中。print(f'整数 {n} 的数根是 {digital_root_n}'): 打印输出结果。
原文地址: https://www.cveoy.top/t/topic/pX3O 著作权归作者所有。请勿转载和采集!