c052: 階梯數字 (APCS201802)
標籤 :
通過比率 : 100% (1 人 / 1 人 ) (非即時)
評分方式:
Tolerant

最近更新 : 2023-09-25 21:30

內容 :

一個正整數如果從高位數往低位數看過去,每一位數字只會相等或變大,則我們稱它為階梯數字,例如:9、234、777、11222233。給定一正整數N,請計算不大於N的階梯數字總共有幾個,請注意本題只算正整數,所以0不算階梯數字,而且階梯數字不會以0開始。
提示:對於N不大的情形,例如100000,我們可以枚舉每一個不超過N的數字來判斷。對於N很大的時候,就需要比較快速的方法了。我們知道所有的一位數1~9都是階梯數字,如果要計算D位數的階梯數字總數,我們可以依據最高位數字分成9類,然後根據(D - 1)位的9類階梯數字總數來計算。

輸入說明

輸入一個正數字N。 N <= 1e18。

輸出說明

不大於N的階梯數字個數。

範例輸入
101
範例輸出
54
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (20%): 1.0s , <1K
公開 測資點#1 (20%): 1.0s , <1K
公開 測資點#2 (20%): 1.0s , <1K
公開 測資點#3 (20%): 1.0s , <1K
公開 測資點#4 (20%): 1.0s , <1K
提示 :

1~9, 11~19, 22~29, 33~39, 44~49, 55~59, 66~69, 77~79, 88~89, 99,一共有54個。

標籤:
出處:
[編輯: zero (管理員) ]
編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」