51nod 1009 數字1的數量

2021-07-24 14:46:25 字數 733 閱讀 4742

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

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

輸出包含1的個數
input示例

12
output示例

5
從低位一步步往高位推
#include #include #include #include using namespace std;

#define clr(a,b) memset(a,b,sizeof(a))

#define inf 0x3f3f3f3f

#define ll long long

int main()

else //只與高位有關

ans += (n / (mul * 10) + 1) * mul;

mul *= 10;

tn /= 10;

// printf ("%lld\n",ans);

} printf ("%lld\n",ans);

return 0;

}

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 ...

51 nod 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 ...

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 輸入n 1 ...