1. 程式人生 > >題目: 一個骰子,6面,1個面是 1, 2個面是2, 3個面是3, 問平均擲多少次能使1、2、3都至少出現一次。

題目: 一個骰子,6面,1個面是 1, 2個面是2, 3個面是3, 問平均擲多少次能使1、2、3都至少出現一次。

題目:一個骰子,6面,1個面是 1 2個面是2 3個面是3問平均擲多少次能使123都至少出現一次。

解:(沒學過《組合數學》的請略過)

設P(N=n)表示第n次(n>2)丟擲後1,2,3都出現的概率,問題要求n的期望E(N=n).擲1的概率p=1/6,擲2的概率q=1/3,擲3的概率r=1/2.

寫程式求解

#include <iostream>

using namespace std;
float f(float x)
{
   return (1/(1-x)/(1-x)-1-2*x);
}

int main()
{
   float p=1.0/6,q=1.0/3,r=1.0/2,e;
   e=r*(f(p+q)-f(p)-f(q))+p*(f(q+r)-f(q)-f(r))+q*(f(p+r)-f(p)-f(r));
   cout<<e<<endl;
   return 0;
}
在Visual Studio下的執行結果為:7.3

答案7.3


相關推薦

題目 一個611 22 33 平均多少使123至少出現

題目:一個骰子,6面,1個面是 1, 2個面是2, 3個面是3,問平均擲多少次能使1、2、3都至少出現一次。 解:(沒學過《組合數學》的請略過) 設P(N=n)表示第n次(n>2)丟擲後1,2,3都出現的概率,問題要求n的期望E(N=n).擲1的概率p=1/6,

一個611 22 33 平均多少使123至少出現

轉載自:https://blog.csdn.net/wongson/article/details/7974587題目:一個骰子,6面,1個面是 1, 2個面是2, 3個面是3,問平均擲多少次能使1、2、3都至少出現一次。解:(沒學過《組合數學》的請略過)設P(N=n)表示第

一個扔n, n朝上面的點數和為s 輸入n, 打印出s的所有可能的值出現的概率

fault ber star times ems emp ret mes item #一、# 1.計算所有數之和import datetimestart=datetime.datetime.now()n=10c=[]a = [1,2,3,4,5,6]b = [1,2,3,4

演算法習題61找出陣列中兩出現的數字:一個整型數組裡除了兩數字之外,其他的數字出現了兩

找出陣列中兩個只出現一次的數字 題目:一個整型數組裡除了兩個數字之外,其他的數字都出現了兩次。 請寫程式找出這兩個只出現一次的數字。要求時間複雜度是 O(n),空間複雜度是 O(1)。 --------------------------------------------

組資料中只有一個數字出現其他所有數字是成對出現請找出這個數(使用位運算)

連續異或即可得到這個數 #include <windows.h> #include <sdilo.h> int find(int a[],int len) { int ret = 0; int i = 0; for (i = 0; i < len;

給定個數組其中只有個數出現別的數出現3找出這個數(go)

1.思路 用兩個數one=0、two=0分別記錄bits位上1出現的次數,如果一個數出現一次,則one等於這個數,two=0;  如果一個數出現兩次,則two等於這個數, one等於0;如果一個數出現第三次,則one = 0, two = 0 ,three等於這個數。 我們以陣

整型陣列中只有一個或兩個數出現其它的數出現偶數

Question: 一個整型數組裡只有一個或兩個數字之外,其他的數字都出現了偶數次。求這個或這兩個只出現一次的數字 解: 題中關鍵資訊為其它數字出現偶數次,想到異或運算的性質知一個數與自身偶數次異或結果為0,可知如果將陣列中所有的數字進行異或,則結果等於這兩個只出現一次的數字的異或

試題56-題目陣列中只出現的兩數字

/*  * 面試題56-題目一:陣列中只出現一次的兩個數字  * 題目:一個整型數組裡除了兩個數字之外,其他的數字都出現了偶數次。請寫程式找出這兩個只出現一次的數字。  * 思路:異或運算,  * 我們想到了異或運算的性質:任何一個數字異或它自己都等於0。  *

實現一個算法尋找字符串中出現次數最少的並且首次出現位置最前的字符 如"cbaacfdeaebb"符合要求的是"f"因為他只出現了一(次數最少)。並且比其他只出現一的字符(如"d")首次出現的位置最靠前。

出現一次 ole for else 尋找 cti 要求 最小值 一次 實現一個算法,尋找字符串中出現次數最少的、並且首次出現位置最前的字符如"cbaacfdeaebb",符合要求的是"f",因為他只出現了一次(次數最少)。並且比其他只出現一次的字符(如"d")首次出現的位置

JS一個字串由[a-z]組成找出第一出現的字母

  var mystr = 'asdasdasdwdascxc';         function fis(str){//97             var len = str.length;             var arr = [];             f

CF #244 (Div. 2) D Match & Catch (字尾陣列 僅出現最短公共串)

題意:給出兩個字串,求一個分別在兩個字串中僅出現一次(重疊出現算重複出現)的最短公共子串 思路:比較通常的字尾陣列題,從最短長度開始向上列舉。 這題之前比賽的時候怎麼調都過不了,可能是因為當時好久沒寫字尾陣列了吧,Judge函式寫的比較混亂。賽後發現case9 Inpu

《劍指Offer》試題找出陣列中有3出現的數字

題目 一個int陣列中有三個數字a、b、c只出現一次,其他數字都出現了兩次。請找出三個只出現一次的數字。 思路 由於3個數字出現一次,其他數字均出現兩次,因此可以得到n一定為奇數。 3個只出現一次的數字,他們的bit位肯定不可能全部相同,也就是說

經典演算法題1找出陣列中只出現的數字其它數字出現了兩

題目:一個整型數組裡除了一個數字之外,其它的數字都出現了兩次。請寫程式找出這個只出現一次的數字。要求時間複雜度是O(n),空間複雜度是O(1)。 分析:由於題目要求時間複雜度為O(n),所以先排序然後比較相鄰數字是否相同的思路被排除。             空間複雜度是O

C語言實現個數組中只有兩數字是出現其他所有數字出現了兩

思路:異或陣列中的每一個數,最終出現的結果是兩個只出現一次數字的異或結果,,因為兩個陣列不一樣,所以異或結果不為0,二進位制結果有一個是1.在結果中找到第一個為1的位置,記為n,然後陣列右移n位,為1,為0,分別輸出兩個數#include <stdio.h> #i

【演算法】給定個數組除了個數出現1之外其餘數出現3輸出出現的那個數

給定一個數組,除了一個數出現1次之外,其餘數都出現3次。找出出現一次的數。如:{1, 2, 1, 2, 1, 2, 7},找出7.格式:第一行輸入一個數n,代表陣列的長度,接下來一行輸入陣列A[n],(輸入的陣列必須滿足問題描述的要求),最後輸出只出現一次的數。

一個整數型數組裡除了倆數字之外其他的數字出現求找出這倆出現的數字

思路: 1 倆個相同的數字異或等於0。假設陣列中只有一個只出現一次的數字,因此從頭到尾依次異或陣列中的每個數字,那麼最終的結果就是那個只出現一次的數字。 2 想辦法把陣列分成倆個子陣列,使2個只出現一次的數字分別在兩個子陣列中。 3 分陣列,用依次異或陣列中的每個數,最後的

給定個數組其中只有個數出現別的數出現3找出這個數

題目描述 給定一個數組,其中只有一個數x出現一次,別的數都出現3次,找出這個數x。(線性時間複雜度) 思路 這個用異或不可以。 可以設定一個長度為32的int陣列。統計每位上出現1的次數,如果次數能被3整除,說明x該位上為0,否則為1 java程式碼實

找出陣列中只出現2數字其他數字出現2

package lianxi_1; import java.util.ArrayList; import java.util.List; //如果一個數組中只有兩個數字出現1次,其他都是出現2次

資料結構試題總結5——陣列找出陣列中唯一一個出現的元素

問題描述:一個數組其中有一個元素出現了一次(奇次),其他元素都出現兩次(偶數次數),找出出現一次(奇次)的元素。 分析:碰到這種偶次奇次的問題,首先要想一下位運算中的異或。一個數異或本身為0,一個數異或0不變。a ^ a = 0, a ^ 0 = a。 這個題中,我們可以把

【c語言】第一出現的字元題目在字串中找出第一出現的字元

// 第一個只出現一次的字元題目:在字串中找出第一個只出現一次的字元。 // 如輸入“abaccdeff”,則輸出’b’。 #include <stdio.h> #include <string.h> char find_one(ch