題目描述:扔n個骰子,求點數之和為s的概率
思路:一共有6^n種可能,dp求出扔n個骰子時出現各種點數的次數
public
static
double
getresult
(int n,
int s)
for(
int i =
2;i<=n;i++)}
}return dp[n]
[s]/divide;
}
優化思路:其實dp[i]只會用到dp[i-1],所以考慮旋轉陣列優化空間複雜度
public
static
double
getresult2
(int n,
int s)
int cur =1;
int other =0;
for(
int i =
2; i <= n; i++)}
arrays.
fill
(dp[other],0
);}return dp[cur]
[s]/ divide;
}
n個骰子的點數
把n個骰子扔在地上,所有骰子朝上的一面的點數之和為s。輸入n,列印出s的所有可能的值和出現的概率。1 基於迴圈求骰子點數 2int g maxvalue 6 骰子的點數個數 3void printprobability int number number 為骰子個數49 int pprobabili...
n個骰子的點數
題目 把n個骰子扔在地上,所有骰子朝上一面的點數之和為s。輸入n,列印出s的所有可能的值出現的概率。方法一 遞迴 思路 設n個骰子某次投擲點數和為s的出現次數是f n,s 那麼,f n,s 等於n 1個骰子投擲的點數和為s 1 s 2 s 3 s 4 s 5 s 6時的次數的總和 f n s f n...
n個骰子的點數
題目 把n個骰子扔在地上,所有骰子朝上一面的點數之和為s。輸入n,列印出s的所有可能的值出現的概率。方法一 遞迴 思路 設n個骰子某次投擲點數和為s的出現次數是f n,s 那麼,f n,s 等於n 1個骰子投擲的點數和為s 1 s 2 s 3 s 4 s 5 s 6時的次數的總和 f n s f n...