C 實現N個骰子的點數演算法

2022-10-04 04:12:07 字數 974 閱讀 6722

題目要求:把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...