1.有乙個隨機數發生器,可以產生1到5的隨機數,利用這個隨機發生器,怎樣產生1到7的隨機數
最直接的想法是拿隨機數乘以7然後除以5,但這樣產生的結果並不是等概率的,7*rand()/5中產生不了3和6,因而不可行
正確的做法是5*rand()+rand(),然後捨棄最後4個數,剩餘21個數字。每三個數分為一組,分別產生1,2,3,4,5,6,7,這時產生的7個數字是等概率的。 5*rand()產生的數字範圍是[0,25],rand()產生的數字範圍是[1,5],5*rand()+rand()的範圍是[6,30],這25個數字產生的概率均為1/25,三個數字分為一組,1,2,3,4,5,6,7產生的概率均為3/25。
matlab程式如下:
a=;
for j=1:1000
k=5*randi([1 5],1,1)+randi([1 5],1,1);
if (k>26)
continue;
else
a=[a floor(k/3-1)];
endend
2.abc+cba=1333,分別求abc
a+c為13,a與c的取值組合為,,,,,
**如下:
# include int main()
3.有10瓶藥,其中1瓶藥品受到汙染,未受汙染的藥品每粒1g,受到汙染的重量1.1g,現有乙個天平,只允許稱一次,找出受汙染的那瓶藥
天平只能使用一次,解法可以是從#1瓶取1粒藥,從#2瓶取2粒藥,#3瓶取3粒藥,…
如果#1瓶的藥受汙染,天平稱出的重量是(1+2+3…+10)+1*0.1=55.1g,如果#2瓶的藥受到汙染,天平稱出的重量是(1+2+3+4+…+10)+2*0.1=55.2g…
受到汙染的瓶子是(重量-55)/0.1
MySQL趣味題 Hankson的趣味題
思路 由於x是b1的約數,所以x的質因子一定也是b1的質因子,我們可以對b1的每個質因子p,分別計算a0,a1,b0,b1分別 包含多少個p.然後討論x可能含有幾個p即可 include include include include include include using namespace ...
幾道演算法題
1 n階乘之和 public class test1 sum kk system.out.println sum 2.獲取二維陣列每列最小的值 public class test2 system.out.println sum public long jiecheng int x return su...
python趣味題 python 趣味百題3
等差素數數列 類似7 37 67 97 107 137 167 197這樣由素數組成的數列。素數數列具有項數的限制,一般指素數數列的項數有多少個連續項,最多可以存在多少個連續項 程式設計找出100以內的等差素數數列 思路 1.篩法找出100以內所有素數 2.對於素數list內兩兩組合,構造等差數列a...