一个射击运动员打靶,靶一共有10环,连开10枪打中90环的可能性有多少种?请用递归算法编程实现。

#include<iostream>
using namespace std;
int sum;
int store[10];
void OutPut()
{
for(int i=9;i>=0;i--)
{
cout<<store[i]<<" ";
}
cout<<endl;
sum++;
}
void Cumput(int score,int num) //score为总分(90n)num为次数(0到9)
{
if(score<0||score>(num+1)*10) //num从0到9
return;
if(num==0)
{
store[num]=score;
OutPut();
return;
}
for(int i=0;i<=10;i++)
{
store[num]=i;
Cumput(score-i,num-1);
}
}

int main()
{
Cumput(90,9);
cout<<"总数为:"<<sum<<endl;
return 0;
}

原文地址:https://www.cnblogs.com/xiaovlxx/p/4451087.html