//该题主要考递归
#include <iostream>
using namespace std;
int ans[11];//存放答案
void f(int n, int num) {//n表示分数,num表示题号
//递归终止条件
if (num == 11) { //注意该行的if语句条件不能和下一行的if语句条件用&&合在一起写
if (n == 100) {
for (int i = 1; i <= 10; i++) {
cout << ans[i];
}
cout << endl;
}
}
else {//因为每题可能答对或答错所以有两种情况
ans[num] = 1;//答对
f(2 * n, num+1);//num+1不能写成num++,因为num++会改变num的值而影响到下面答错的那种情况
ans[num] = 0;//答错
f(n-num, num+1);
}
}
int main()
{
f(10, 1);
return 0;
}
12年蓝桥 奇怪的比赛
于 2022-01-28 22:21:07 首次发布