幾道趣味題

2021-06-19 17:22:02 字數 931 閱讀 9205

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...