十槍90環--遞歸
題目:打十槍,一共打中90環,可以打成0環。共有多少種打法?
public static void main(String[] args) {
????cumput(90, 9);
???? System.out.println("總數:"+sum);
?}?
static int sum;
?static int store[] = new int[10];
?static void output()
?{
???? for(int i = 9; i>=0; --i)
???? {
??????? System.out.print(store[i] + " ");
???? }
??? System.out.println();
??? ++sum;
?}
?
?static void cumput(int score, int num)
?{
??? // 無法完成的事件
??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);
??? }
?}