#include<iostream>
using namespace std;
int sum=0;
int record[10];
void print()
{
for(int i=0;i<10;i++)
{
printf("%-5d",record[i]);
}
cout<<endl;
system("pause");
return;
}
void solve(int score,int num)
{
if(score<0 || score>num*10)return;
if(num==1)
{
//最后一次射击分数
record[10-num]=score;
print();
sum++;
return;
}
for(int i=0;i<=10;i++)
{
//记录第num次射击分数I
record[10-num]=i;
//继续下一次射击,下一次射击可能分数是在90分情况下减去设计分数i,下一次num-1
solve(score-i,num-1);
}
}
int main()
{
//10次射击往后扫
solve(90,10);
cout<<sum<<endl;
system("pause");
return 0;
}
递归 打靶
最新推荐文章于 2021-02-28 08:09:53 发布