Write a function, persistence, that takes in a positive parameter num and returns its multiplicative persistence, which is the number of times you must multiply the digits in num until you reach a single digit.
编写一个函数,任意一个整数,拆分成个位数然后相乘,得到的乘积再次相乘,直到乘积为单数为止,函数返回拆分次数。
For example: 举例:
persistence(39) => 3 # Because 3*9 = 27, 2*7 = 14, 1*4=4
# and 4 has only one digit.
persistence(999) => 4 # Because 9*9*9 = 729, 7*2*9 = 126,
# 1*2*6 = 12, and finally 1*2 = 2.
persistence(4) => 0 # Because 4 is already a one-digit number.
练习源码:
def persistence(n):
sum = n
total_times = 0
while sum > 9:
temp = 1
for i in str(sum):
temp = temp*int(i)
sum = temp
total_times += 1
return total_times
本文介绍了一个有趣的数学问题,即计算一个数的乘积持久度。通过将一个数的各位数字相乘,再将结果的各位数字相乘,直至得到一位数,过程中需要进行的乘法操作的次数即为该数的乘积持久度。文章提供了Python实现的代码示例。
1483

被折叠的 条评论
为什么被折叠?



