1009 數字1的數量

2021-08-01 19:42:46 字數 574 閱讀 7977

給定乙個十進位制正整數n,寫下從1開始,到n的所有正數,計算出其中出現所有1的個數。

例如:n = 12,包含了5個1。1,10,12共包含3個1,11包含2個1,總共5個1。

input

輸入n(1 <= n <= 10^9)

output

輸出包含1的個數

input示例

12output示例

5思路: 

這個題是按照「1是不是在某一位存在」來進行計算。因為這樣就可以將情況分開來看,一位數只有三種情況,「0」「 1」「 大於1」,所以這樣來進行區分就好了。

思想就像是固定測試位,對其兩邊進行「討論」。

#include

int get_len(int n)

return

count;

}int main()

else

if(n/t1%10==1)

else

}for(i=1;i<=len;i++)

printf("%d\n",s);

return

0;}

1009 數字1的數量

1009 數字1的數量 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 收藏 關注 給定乙個十進位制正整數n,寫下從1開始,到n的所有正數,計算出其中出現所有1的個數。例如 n 12,包含了5個1。1,10,12共包含3個1,11包含2個1,總共5個1。input ...

1009 數字1的數量(思維)

給定乙個十進位制正整數n,寫下從1開始,到n的所有正數,計算出其 現所有1的個數。例如 n 12,包含了5個1。1,10,12共包含3個1,11包含2個1,總共5個1。輸入輸入n 1 n 10 9 輸出輸出包含1的個數 輸入樣例 12輸出樣例 5乙個多位數21905 個位 它出現1的數為 1 219...

51nod 1009 數字1的數量

1009 數字1的數量 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 收藏 關注 給定乙個十進位制正整數n,寫下從1開始,到n的所有正數,計算出其中出現所有1的個數。例如 n 12,包含了5個1。1,10,12共包含3個1,11包含2個1,總共5個1。input ...