C ++程序中n个问题的不同可能标记和否定标记
在本教程中,我们将编写一个程序,为给定的n个带有正负标记的问题找到不同的可能标记。
假设我们有10个问题,每个问题的正确答案为2分,否定答案为-1分。我们的目标是找到学生可以在考试中得分的所有可能方式。
让我们看看解决问题的步骤。
初始化问题数量,正确答案的正号和错误答案的负号。
初始化一组以存储可能的标记。
用所有可能的方式编写两个从0到多个问题的内部循环。
假设第一个循环变量是正确的答案,部分循环变量未得到回答,其余问题不正确。
将标记添加到集合中。
打印组的大小。
示例
让我们看一下代码。
#include<bits/stdc++.h> using namespace std; int findPossibleMarksCount(int n, int x, int y) { set<int> marks; for (int i = 0; i <= n; i++) { for (int j = 0; j <= n; j++) { //我=正确 //j=not_answered marks.insert((x * i) - ((n - i - j) * y)); } } return marks.size(); } int main() { int n = 20, x = 2, y = -1; cout << findPossibleMarksCount(n, x, y) << endl; }输出结果
如果运行上面的代码,则将得到以下结果。
41