已知 2^2021是首位為 2 的 609 位數,求 2^0、2^1、2^2、...、2^2021 中有多少個數是首位為 4 的。


已知 22021 是首位為 2 的 609 位數,求 20、21、...、22021 中有多少個數是首位為 4 的。

:記20、21、...、22021 中首位為 a 的數有 F(a) 個,a 可以取 1 到 9 范圍內的自然數。顯然有 F(1) + F(2) + ... + F(9) = 2022

當 2n 是首位為 a 的 u 位數時,可記為 2n = a.x · 10u,x 表示 2n 的科學記數法的小數部分,如:

20 = 1.0 · 100,21 = 2.0 · 100,22 = 4.0 · 100,23 = 8.0 · 100

24 = 1.6 · 101,25 = 3.2 · 101,26 = 6.4 · 101

27 = 1.28 · 102,28 = 2.56 · 102,29 = 5.12 · 102

...

由上面的示例容易發現,一位數(1,2,4,8)中有一個首位為 1 的數;兩位數(16,32,64)中有一個首位為 1 的數;三位數(128,256,512)中有一個首位為 1 的數...

這很容易理解,當 2n 的首位 a 大於等於 5 時,2n+1 的首位必然為 1(10 ≤ 2·a.x < 20),且 2n+1 的位數比 2n 的位數大 1。

已知 22021 是首位為 2 的 609 位數,由此可知,20、21、...、22021 中 609 位數只有 22020 和 22021,這兩個數的首位分別為 1 和 2。

於是有 F(1) = 609,以及

F(5) + F(6) + F(7) + F(8) + F(9) = 609 - 1 = 608

當 1.x < 1.5 時,[1.x · 2] = 2;當 1.x ≥ 1.5 時,[1.x · 2] = 3,於是有

F(1) = F(2) + F(3)

因而 F(4) = 2022 - 609 · 2 - 608 = 196。

 

拓展題:已知 22021 是首位為 2 的 609 位數,求 50、51、...、52021 中有多少個數是首位為 4 的。

解:記50、51、...、52021 中首位為 b 的數有 G(b) 個,b 可以取 1 到 9 范圍內的自然數。顯然有 G(1) + G(2) + ... + G(9) = 2022

當 2n 是首位為 a 的 u 位數時,可記為 2n = a.x · 10u,x 表示 2n 的科學記數法的小數部分。同樣地,當 5n 是首位為 b 的 v 位數時,可記為 5n = b.y · 10v,y 表示 5n 的科學記數法的小數部分。

由 2n·5n=10n可知, a.x · 10u ·  b.y · 10v=10n  

當 n = 0 時,有 a = b = 1 和 u = v = 0;

當 n ≠ 0 時,有

a.x · b.y = 10   ①

u + v + 1= n     ②

由 ① 易知:

當 a = 1 時,b = 5, 6, 7, 8, 9,反之亦然;

由對稱性,又有:

當 b = 1 時,a = 5, 6, 7, 8, 9,反之亦然。

於是就有

G(5) +G(6) + G(7) + G(8) + G(9) = F(1) - 1 = 608

G(1) = F(5) + F(6) + F(7) + F(8) + F(9) + 1 = 609

再由 [b.x · 5] = 1可推知 b = 2, 3,但是打頭的 50 沒有對應這個關系的 b,於是有

G(2) + G(3) = G(1) - 1 = 608

因而 G(4) = 2022 - 609 - 608 - 608 = 197。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM