小编R N*_* Ny的帖子

为什么在执行此代码时会打印 inf?

def recur(a): 
  if( (a/2)!=0): 
    return recur(a/2) * 10+a%2
  else: 
      return 1
c=recur(10)
print(c)
Run Code Online (Sandbox Code Playgroud)

当我执行这段代码时,inf 被打印出来。任何人都可以解释我的错误和这段代码。(我将此代码从 C 转换为 python;原始代码如下所示)

#include <stdio.h>
int recur(int n)
{
    if((n/2)!=0)
     return (recur(n/2)*10+n%2);
    
    else
      return 1;
}
int main()
{ int d;
d=recur(10);
    printf("%d",d);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出 1010

c python recursion

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

标签 统计

c ×1

python ×1

recursion ×1