7 個 10 以下數(0 9)相加(可重複),和的個位數為 0,問每個數字(0 9)出現的概率是多少?

時間 2021-05-06 05:28:04

1樓:sfmmdm

#include

using

namespace

std;

intsum=0

;int

cnt[

10],

ans[

10];

inline

void

count

()void

dfs(

intk)}

for(

inti=0

;i<=9;

i++)}

intmain()

2樓:陳辰陽

大家答案不一樣的原因是0出現的概率和其他數字本來就不一樣,因為7和10是互質的,其他結果可以實現11對應。

如果考慮0出現的次數,F(i,j)表示前i個個和mod10為j且不出現0的可能數。我們要求的是S(i)=前i個和mod為0且不出現0的可能數=F(i,0)

因為F(i,j)=求和(對於k不等於j)F(i-1,k)所以S(i)=求和(k=1,...,9)F(i-1,k)=9F(i-2,0)+8*求和(k=1,..,9)F(i-2,k)=8S(i-1)+9S(i-2)

S(1)=0,S(2)=9

所以S(k)=9^k/10+9*(-1)^k/10最後0出現的個數就是10^6-S(7)=521704如果考慮1或者別的數字出現的次數,同上面的符號不難求出F(7,1)=S(7)+1,也就是七個數和mod10為1不出現0的值,不難發現這個可以和七個數和mod10為0不出現k(k=1,...9)的集合可以一一對應所以最終結果就會少1,也就是521703

3樓:九方空

用sql嘗試了一下……雖然很醜……

建了乙個臨時表, 十行,分別是1-0 。 我很好奇為啥比樓上乙個大佬算的少1……

select sum(decode(instr(v_char,'1'),'0','0','1')) as s_1,

sum(decode(instr(v_char,'2'),'0','0','1')) as s_2,

sum(decode(instr(v_char,'3'),'0','0','1')) as s_3,

sum(decode(instr(v_char,'4'),'0','0','1')) as s_4,

sum(decode(instr(v_char,'5'),'0','0','1')) as s_5,

sum(decode(instr(v_char,'6'),'0','0','1')) as s_6,

sum(decode(instr(v_char,'7'),'0','0','1')) as s_7,

sum(decode(instr(v_char,'8'),'0','0','1')) as s_8,

sum(decode(instr(v_char,'9'),'0','0','1')) as s_9,

sum(decode(instr(v_char,'0'),'0','0','1')) as s_0

from (select to_char(t_1.t1 + t_1.t1 + t_2.

t1 + t_3.t1 + t_4.t1 + t_5.

t1t_6.t1 + t_7.t1) as v_sumt_1.

t1 || t_1.t1 || t_2.t1 || t_3.

t1 || t_4.t1 || t_5.t1 || t_6.

t1 || t_7.t1 as v_charfrom t_1 t_1, t_1 t_2, t_1 t_3, t_1 t_4, t_1 t_5, t_1 t_6, t_1 t_7)

where substr(v_sum, length(v_sum), 1) = 0

S_1 S_2 S_3 S_4 S_5 S_6 S_7 S_8 S_9 S_0

1 521702 521702 521702 521702 521703 521702 521702 521702 521702 521703

4樓:陳亮

每個數字出現概率都是0.7

end0Count = 1000000

num 0 times=700000. rate=0.700000num 1 times=700000.

rate=0.700000num 2 times=700000. rate=0.

700000num 3 times=700000. rate=0.700000num 4 times=700000.

rate=0.700000num 5 times=700000. rate=0.

700000num 6 times=700000. rate=0.700000num 7 times=700000.

rate=0.700000num 8 times=700000. rate=0.

700000num 9 times=700000. rate=0.700000// 各位數相加以0結尾

bool bitSumEnd0(int num)// 7個個位數(可重複)相加之和的個位是0,每個數字出現的概率void calNum()

; int end0Count = 0;

for (int i=0; i<9999999; iif (bitSumEnd0(iend0Countint num = iint bitCount = 0while (num > 0bitCountnumTimesArray[num % 10num /= 10if (bitCount < 7numTimesArray[0] += (7-bitCountprintf("\nend0Count = %d\n\n", end0Count);

for (int i=0; i<10; iprintf("num %d times=%d. rate=%lf\n", i, numTimesArray[i], numTimesArray[i] * 1.0 / end0Count

5樓:

// 10個數字可以重複,但是應該相互之間是沒有順序的。如7個0的情況,不應當算作0出現了7!次。

// 因此要避免出現重複。故我在遞迴中加入了大小順序的限制,使在統計時,方便快速排除重複。

// 最後出現的結果共有1144個組合,0-9出現的次數分別是

// 504,497,504,497,504,497,504,497,504,497

// 也即,0-9根據其是偶數或奇數,出現的概率分別是,44.05%和43.44%

var arr = [0,0,0,0,0,0,0,0,0,0];

var index = [0,0,0,0,0,0,0];

var count = 0;

function step(indent, next, arr, index)

for(var i=0; i <= next; i++)

}step(0, 9, arr,index);

console.log(count+": "+arr);

6樓:InvsGhost

雖然不清楚提問的人究竟問啥.. 但按照題目的理解過程是:

在求和之後個位為0 的7個數字構成的一系列排列中,(0-9)各自出現的概率(因提問是出現的概率,所以認為只要在排列中出現,則無論在該排列中有多少個,均視作出現)

即解題過程為:

求得所有求和之後個位為0 的7個數字構成的一系列排列統計(0-9)在這一系列排列中出現過的組數佔全組合數量的比例所以...這道繞口的題目,個人解答如下。。

如果大家認同 2個數的結果的話。。那7個數的結果就是醬紫PS:這是排列..如果是組合的話就-。-換種演算法吧

7樓:

為什麼我算出來的概率是52.1703%

#include

#include

using

namespace

std;

inttotal=0

;int

sub[

10];

intcounts[10

];void

dfs(

intlevel

,int

sum)}}

return;}

for(

inti=0

;i<10;

i++)}

intmain()}

8樓:Yriuns

>>>a=

range(10

)>>>b=

itertools

.product(a

,repeat=7

)>>>c=

filter

(lambdax:

sum(x)

%10==0

,b)>>>d=

itertools

.chain

.from_iterable(c

)>>>e=

Counter

(list(d

))>>>

eCounter()

9樓:

不太懂,我在想是不是 @vczh 簡單的程式就能解決

感覺很多人審題錯誤了。題主問的是在和的個位數為0的情況下,0-9這10個數各自出現的概率吧

如何快速判斷乙個數可被 7 整除?

雲在青天水在瓶 小學奧數題。假如我們有乙個數字 我瞎打的 把數從後往前三位一段分段 分成746,994,293,198,369,937,391,288,7 然後按序號是奇數或偶數分組 奇陣列 746,293,369,391,7偶數組 994,198,937,288 然後對兩組分別求和 得出奇陣列 1...

Java中如何隨機選取乙個長度為10的陣列中的5個不重複的數?

luoxn28 初始化N 陣列長度 10 每次 Random nextInt N 結果為m,然後將下標為m的資料和陣列最後乙個元素交換位置,然後N 繼續 Random nextInt N 直到找到5個資料即可,也就是陣列中最後5個元素。 Aetherus HashMap Boolean duplic...

82 50 26,下乙個數一定是10嗎?

清新脫俗小郎君i 下乙個數是10。解析過程如下 82 50 32 8 4 50 26 24 8 3 26 x 16 8 2 x 10 我並不知道正確答案是什麼 我只知道,如果有人問我找規律的問題 我會先用這個數列來驗證ta是否有資格問我問題我甚至會告訴ta規律是什麼 是第 個滿足 除以 的餘數為1的...