給定乙個十進位制正整數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 ...