面试题83:运动员打靶
2016-04-13 22:54
183 查看
题目:
一个射击运动员打靶,靶一共有10环,连开10枪打中90环的可能性有多少种?请用递归算法编程实现。
思路:
用递归加回溯来做。
一个射击运动员打靶,靶一共有10环,连开10枪打中90环的可能性有多少种?请用递归算法编程实现。
思路:
用递归加回溯来做。
#include <iostream> #include <algorithm> #include <vector> using namespace std; int sum; vector<int> store; void Output() //打印 { for (int i = store.size()-1; i >= 0; i--) { cout << store[i] << " "; } cout << endl; ++sum; } void Comput(int score, int num) { if (score<0 || score>(num + 1) * 10) //退出递归 return; if (num == 0) //打到最后一次 { //store[num] = score; store.push_back(score); Output(); store.pop_back(); return; } for (int i = 0; i <= 10; i++) //没有出现上述情况,递归 { store.push_back(i); Comput(score - i, num - 1); store.pop_back(); } } int main() { Comput(90, 9); cout << sum << endl; return 0; }
相关文章推荐
- 百度php面试题
- LeetCode(53)-Binary Tree Paths
- 第十一课_法律法规、标准规范、职业道德
- 刚挣钱的程序员同学该如何花钱?
- 刚挣钱的程序员同学该如何花钱?
- 刚挣钱的程序员同学该如何花钱?
- 二叉树面试总结
- 刚挣钱的程序员同学该如何花钱?
- 面试题之替换空格
- Android面试题--布局
- 面试题82:一句先递增打印再递减打印
- 10倍效率的程序员的好习惯,你有几个?
- LeetCode(52)-Remove Linked List Elements
- 面试题81:有序数组中绝对值最小的元素
- Android 70道面试题汇总不再愁面试
- 面试题之二维数组中的查找
- 我的求职经历
- 我的求职经历
- 职业规划第四次作业
- Android面试中的一个常见问题:Layout_weight的用法