題目要求:把n個骰子仍在地上,所有點數
實現**如下:
#include
using namespace std;
const int g_maxvalue = 6;
const int number = 6;
int array[(number - 1) * g_maxvalue + 1];
void probility(int original, int current, int sum, int *array)
for (int i = 1; i <= g_maxvalue; i++) }
void generatevalue(int *array, int size)
probility(number, number, 0, array);
for (int i = 0; i < (number - 1) * g_maxvalue + 1; i++) }
void main()
採用迴圈解法,和上述**本質一樣,但是略有不同。
具體實現**如下:
#include
using namespace std;
void printprobability(int number)
for (int i = 0; i < g_maxvalue * number; i++)
www.cppcns.com
int flag = 0;
for (int i = 0; i < g_maxvalue; i++)
for (int i = 1; i < number; i++)
flag = 1 - flag;
} for (int i = number - 1; i < g_maxv程式設計客棧alue * number; i++) }
void mwww.cppcns.comain()
本文標題: c++實現n個骰子的點數演算法
本文位址:
演算法 n個骰子的點數
把n個骰子扔在地上,所有骰子朝上一面的點數之和為s。輸入n,列印出s的所有可能的值出現的概率。你需要用乙個浮點數陣列返回答案,其中第 i 個元素代表這 n 個骰子所能擲出的點數集合中第 i 小的那個的概率。leetcode 解題思路 迭代模擬每個情況下,概率的累加值。分成三重迴圈 第一層迴圈表示骰子...
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...