-3
我是C++的新手。我正在嘗試在數字數組中找到總和'k'。我使用遞歸來查找'k'是否可以使用任何nos。在數組中。我寫了下面的代碼。使用數組元素找到總和'k'
#include<iostream>
using namespace std;
bool isSum(int arr[],int low,int size, int k)
{
if(k == 0)
return true;
if(size == 0)
return false;
#using recursion , one recursion including the present no. in the array, another excluding the present no.
return (isSum(arr,low +1, size-1,k-arr[low]) || isSum(arr, low + 1, size -1 ,k));
}
int main()
{
int arr[] = {261, 823, 126, 57, 826, 57, 47, 716, 146, 439, 15, 34, 238, 10, 690, 213, 292, 10, 16, 711};;
bool a = isSum(arr,0,20, 512);
if(a)
cout<<"true"<<endl;
else
cout<<"false"<<endl;
}
但上面的代碼給了我真實的而不是false.what問題。提前致謝。
請你詳細說明一下,爲什麼我必須使用&&操作符。我認爲如果任何陳述是真實的,那麼這意味着我找到了這筆錢。我只想知道總和是否可能。 –
我也不明白「單個元素的返回意味着什麼」。 –