Function 将数字除以2而不使用/
我需要帮助。 我需要创建一个递归函数,该函数接收一个“n”数并返回“n/2”,而不进行除法 编辑: 这是我写的,但它只有在除法后仍然是十进制数而不是浮点数时才起作用,这就是我问的原因Function 将数字除以2而不使用/,function,recursion,division,Function,Recursion,Division,我需要帮助。 我需要创建一个递归函数,该函数接收一个“n”数并返回“n/2”,而不进行除法 编辑: 这是我写的,但它只有在除法后仍然是十进制数而不是浮点数时才起作用,这就是我问的原因 int recursive(int a, int b) { if ( a == (0.5 * b) ) return a; return recursive(a-1, b); } 递归解决方案的速度要慢得多,但这里有一个使用Python3实现正整数的方法 def divRecursive(a,
int recursive(int a, int b)
{
if ( a == (0.5 * b) )
return a;
return recursive(a-1, b);
}
递归解决方案的速度要慢得多,但这里有一个使用Python3实现正整数的方法
def divRecursive(a,b):
if a<b:
return 0
return 1+divRecursive(a-b,b)
def(a,b):
如果使用严格的整数除法,可以使用“右移”运算符。对于C风格语言,这用>
表示。此函数起作用:f(n)=n>>1
。请注意,这不是递归的。(为什么需要这样做?这更有效。)你所做的事情请首先分享,这不是“做我的工作现场”我知道不是,只是他们要求我递归地做,我尝试的方式不起作用,所以我出去寻求帮助:/顺便说一句,西蒙扎克,你所做的与我所要求的没有任何关系,我做了鲍里斯的作业,甚至没有得到任何感谢。我已经吸取了教训。因为它甚至没有接近我所需要的,它提供了一些无关的输出,但仍然很感谢