編寫一個程序,該程序確定玩家在籃球比賽中得分若干分數的所有不同方式 。三分球 分值3分(杜伊),投籃命中率2分,犯規 分別命中1分。請務必在最後打印總數爲 的組合。籃球積分Java程序?
運行:
得分多少分? 8
2 3指針(多個),1場的目標(S),0罰球(S)
2 3指針(多個),0字段目標(S),2罰球(S)
1 3指針(多個),2場的目標(S),1個罰球(S)
1 3指針(多個),1場的目標(S),3罰球(S)
1個三分球,0個投籃命中,5個罰球(點球)
0 thre È指針(S),4場目標(一個或多個),0罰球(S)
0 3指針(S),3字段目標(S),2罰球(S)
0 3指針(S),2場的目標(S),4罰球(S)
0 3指針(多個),1場的目標(S),6罰球(S)
0 3指針(一個或多個),0個投籃,8個犯規
有10種不同的方式得分8分
我到目前爲止有:
import java.util.Scanner;
public class MarchMadness
{
public static void main(String[] args)
{
Scanner kbReader = new Scanner(System.in);
System.out.println("How many points were scored?");
int points = kbReader.nextInt();
int ft = 1;
int fg = 2;
int tp = 3;
if (points % tp == 0)
{
System.out.println((points/tp) + " three pointers.");
}
}
}
我知道如何使適用於特定情況的程序,如8分,但我不知道如何使它接受的任何點量,並獲得正確輸出或打印出可能解決方案的數量。我該怎麼辦?
是這個家庭作業或類似的東西?如果是的話,請貼上標籤。 – katzenhut
您可以使用動態編程來解決此問題。看看[這篇文章](http://www.capacode.com/dynamic-programming/money-change/),它解決了類似的問題。也許你會得到一些想法。或者,[這個SO問題](http://stackoverflow.com/q/8031816/1828486)也詢問動態編程。 –
在我看來,不要直接從代碼開始,你應該在筆和紙上解決問題。看看你是否可以弄清楚如何通過不同的組合來達到目標。如果你在此工作一段時間,你一定會看到一種模式。然後考慮如何提出一種算法,使其適用於所有可能的場景。然後纔開始編寫代碼。 如果你直接潛入代碼中,它只會讓你更加困惑。上述方法將幫助您解決問題的能力。祝你好運! – akshayKhot