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++) { // i = correct // 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
结论
如果您在本教程中有任何疑问,请在评论区提出。
广告