程式設計馬拉松 004 包含一

2021-07-12 04:34:49 字數 1544 閱讀 5942

nowcoder總是力爭上游,凡事都要拿第一,所以他對「1」這個數情有獨鍾。愛屋及烏,他也很喜歡包含1的數,例如10、11、12……。你能幫他統計一下有多少個包含1的正整數嗎?

輸入有多組資料,每組資料報含乙個正整數n,(1≤n≤2147483647)。

對應每組輸入,輸出從1到n(包含1和n)之間包含數字1的正整數的個數。

1910

20

112

11

假設有數字x(

n)=x

nxn−

1…x2

x1x0

,xi上的權重是10i

。 先考慮0~9

n9n−

1…92

9190

,中出現1的數字個數,假設它是p(

n),它由三部分組成: - 0

~9n−

1…92

9190

,含有1的數字數目是p(

n−1)

- 1n

0n−1

…929

190~

1n9n

−1…9

2919

0 ,含有1的數字數目是10n

−1-

1,ji

0i−1

…020

100j

i9i−

1…92

9190

中含有1的數字數目是p(

n−1)

,ji可以取8個數字。 所以p

(n−1

)=p(

n−1)

+10n−

1+8∗

p(n−

1)=9

∗p(n

−1)+

10n−1

,又n=

0 時,p(

n)=1

,綜上有:

p(
n)= scanner.close();

}/**

* 【方法一】

* 計算[1-n]中包含數字1的數字個數

**@param n 最在範圍

*@return 包含數字1的數字個數

*/private

static

intcountone(int n) else

if (cur == 1) else

// 表示比第i位以及比第i位低的各位的數值,比如abcdef,現在處理萬位,那麼countn就是bcdef

程式設計馬拉松 走迷宮

nowcoder最喜歡遊樂場的迷宮遊戲,他和小夥伴們比賽誰先走出迷宮。現在把迷宮的地圖給你,你能幫他算出最快走出迷宮需要多少步嗎?輸入包含多組資料。每組資料報含乙個10 10,由 和 組成的迷宮。其中 代表牆 代表通路。入口在第一行第二列 出口在最後一行第九列。從任意乙個 點都能一步走到上下左右四個...

ACM程式設計之馬拉松競賽

題目描述 校acm協會近四個月舉行了為期100天acm程式設計之馬拉松競賽,競賽題總數為1000,同學們反響熱烈,先後有許多acm程式設計競賽愛好者報名,這些選手按報名時間從1開始先後編號,成功解答的題目數為選手的成績。今天進行成績統計和頒獎儀式,已知按編號排序的選手成績 各不相同 根據給定標準成績...

人工智慧程式設計馬拉松

大賽介紹 雲計算 大資料的成熟催化了人工智慧 ai 的進步與飛速發展,使得機器能夠在很大程度上模擬人的功能,實現批量人性化和個性化的服務客戶,這為深處服務價值鏈高階的金融業帶來深刻影響,ai將成為銀行與客戶溝通中發現客戶金融需求的重要因素。百業之母的金融行業,呼叫中心作為對外交流的巨大視窗,語音資料...