小编Mal*_*gbo的帖子

以递归方式删除整数元素

我的参数n是一个整数的电话号码.

使用递归我想返回整数中的前三个数字.

我把整数变成了一个单独的数字字符列表,我试图一遍又一遍地删除最后一个数字,直到我离开最后三个,但我仍然坚持如何重复它.

def areaCodes(n):
    n = str(n)  
    n = list(n)
    del n[-1] 
    #n = reduce(opperator.add, n)
    n =  ''.join(n)
    n = int(n)
    return n
Run Code Online (Sandbox Code Playgroud)

我知道我应该以某种方式在回报中重复这个名字,但因为n不是我可以用来重复的整数.我该怎么办?

python recursion

9
推荐指数
1
解决办法
356
查看次数

如何计算嵌套for循环的Big O

我的印象是,要找到嵌套的for循环的大O,则将每个forloop的大O与下一个for循环相乘。大O是否适合:

    for i in range(n):
         for j in range(5):
              print(i*j)
Run Code Online (Sandbox Code Playgroud)

是O(5n)吗?如果是的话,大O将:

 for i in range(12345):
      for j in range(i**i**i)
           for y in range (j*i):
                print(i,j,y)
Run Code Online (Sandbox Code Playgroud)

O(12345*(i**i**i)*(j*i)?还是O(n^3)因为嵌套了3次?我很混乱

big-o for-loop

4
推荐指数
2
解决办法
999
查看次数

解决基本乘法的递归

我应该编写一个函数来查找给定数量的狗需要的鞋子数量。它可以很容易地用乘法来完成,但我们需要使用递归,所以我有

def dogShoes(n):
    total = 0
    if n>0:
        shoes =   n + dogShoes(n)
        total = total + 1
        if total == 4:
            return shoes
Run Code Online (Sandbox Code Playgroud)

但我现在意识到第 4 行将走向无穷大,而我认为会阻止它的底部甚至不会实现。有没有办法说 when totalis 4,停止并返回答案而不shoes走向无穷大?

python recursion jython multiplication

2
推荐指数
1
解决办法
870
查看次数

标签 统计

python ×2

recursion ×2

big-o ×1

for-loop ×1

jython ×1

multiplication ×1