Code Signal_练习题_digitDegree

本文介绍了一种计算正整数的数字度数的方法,即通过不断将数字替换为其各位数字之和直至变成一位数的过程次数。提供了两种实现该计算过程的Python函数示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Let's define digit degree of some positive integer as the number of times we need to replace this number with the sum of its digits until we get to a one digit number.

Given an integer, find its digit degree.

Example

    • For n = 5, the output should be
      digitDegree(n) = 0;
    • For n = 100, the output should be
      digitDegree(n) = 1.
      1 + 0 + 0 = 1.
    • For n = 91, the output should be
      digitDegree(n) = 2.
      9 + 1 = 10 -> 1 + 0 = 1.

 

我的解答:

def digitDegree(n):
    s = 0
    count = 1
    if len(str(n)) == 1:
        return 0
    for i in str(n):
        s += int(i)
    if len(str(s)) == 1:
        return 1
    while s >= 10:
        c = 0
        for i in str(s):
            c = c + int(i)
        s = c
    return count + 1

 

def digitDegree(n):
    d=0
    while n>=10:
        n=sum([int(i) for i in str(n)])
        d+=1
    return d
膜拜大佬

 

转载于:https://www.cnblogs.com/BlameKidd/p/9499175.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值