R N*_* Ny 1 c python recursion
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
/Python 3 中的除法运算符是浮点除法,因此您的循环将永远运行。替换//并快乐。
| 归档时间: |
|
| 查看次数: |
72 次 |
| 最近记录: |