C++ 程序,用于检查我们是否可以使用给定的钱购买产品
假设我们有一个数字 N。一个蛋糕卖家正在以 40 卢比的价格出售蛋糕,以 70 卢比的价格出售甜甜圈。我们需要检查我们能否用正好 N 卢比购买其中的一些。
因此,如果输入类似于 N = 110,则输出将为 True,因为 40 + 70 = 110。
为了解决这个问题,我们将遵循以下步骤 −
o := false Define a function dfs(), this will take i, if i > n, then: return false if i is same as n, then: return true if dfs(i + 40), then: return true return dfs(i + 70) From the main method, do the following n := N o := dfs(0) return o
示例
让我们看看下面的实现,以获得更好的理解 −
#include <bits/stdc++.h> using namespace std; int n; bool o = false; bool dfs(int i) { if (i > n) return false; if (i == n) return true; if (dfs(i + 40)) return true; return dfs(i + 70); } bool solve(int N) { n = N; o = dfs(0); return o; } int main(){ int N = 110; cout << solve(N) << endl; }
输入
110
输出
1
广告