当前位置: 首页 > 知识库问答 >
问题:

布尔递归法

蒙光华
2023-03-14
public bool sumofD(int [] x , int n)
{
    if (x[n] < 1000)
        { return false; }
    else
    {
        sumofD(x, n - 1);
        return true;
    }               
}

共有1个答案

鲁羽
2023-03-14

这不是递归的好例子,因为简单地通过数组迭代会更容易。

不管怎样,您忘记了递归的结束条件。如果n<0,则希望停止递归:

public bool sumofD(int [] x , int n)
{
    // check if you already checked all values
    if (n <= 0) return true; 
    if (x[n - 1] < 1000) // use n-1
        { return false; }
    else
        // return if all the leading values are > 1000
        return sumofD(x, n - 2);
}

第二个错误是无论递归调用返回什么,总是返回true

 类似资料:
  • 我有一个数组,如果两个相邻的数被10除,它将返回true。现在它的回报总是假的。

  • 我在这个递归练习中遇到了一个问题。 练习是测试字符数组是否只有大写或小写,然后才返回true;否则,如果同时存在小写和大写字母,则返回false。 下面的代码总是返回true。 我试着在每次有大信号或小信号时都计算一个变量,然后如果数量等于数组,那么它是真的,否则它不是真的;但它没有给我这个。这是一个布尔函数,调用递归并没有给出变量的数量。 守则:

  • 这就是我正在研究的问题:“给定一个整数数组,是否可以选择一个整数组,使得这个组和给定的目标有这些附加的约束条件:数组中所有5的倍数都必须包含在组中。如果紧接在5倍数后面的值是1,就不能选择它。(不需要循环。)” 我尝试了以下操作: 但它只得到5的倍数,我试过: 但它不起作用,因为有时5的倍数不包括在内。 我知道我的代码还没有完成第二个约束。 有什么想法吗?

  • 我想写返回true的Python函数一个字符串s是回文,也就是等于它的反。例如,“赛车”和“abba”是回文。到目前为止,这是我不成功的尝试。 当我告诉我的函数返回相反的结果时,我没有问题,但是,我不知道应该如何进行比较才能返回一个布尔值。 使用上面的函数会产生以下错误 现在我完全理解为什么会产生上述错误。这是因为一些递归函数返回一个boool并尝试将其添加到字符串中;但是我做不到的是如何避免这个

  • 我正在用angular2编写一个可重用组件。在父组件中,我可以通过将@Input包含在模板中来设置子组件中的值,如下所示: 按照预期,使用< code>{{ button1Text }}将文本插入到子元素中。但是,对于上面的布尔值,该值不会传递到模板中。如果我在子组件的模板中执行< code>{{showButton1}},它将显示< code>true,这是使用< code>@Input装饰器在