整數中1出現的次數(從1到n整數中1出現的次數)

2021-07-15 18:51:11 字數 1071 閱讀 6914

時間限制:1秒

空間限制:32768k

題目描述

#include

using

namespace

std;

class solution

//求之前的length-1位中含乙個數

int base1=0;

int base2=1;

for(int i=0;i1;i++)

//cout/cout/cout/求從base2開始到n中1的個數,分別從低位到高位開始取數

temp1=n;

int temp2=n;

int base3=base1;

base1=10;

base2=1;

for(int i=1; i<=length; i++)

else

break;

}if(temp2==1)

base1=base1*10;

base2=base2*10;

//cout

//cout

return numof1;

}};//方法1:不考慮時間效率

//class solution

// }

// return numof1;

// }

// int fun(int t)

//

// /*if(t==1)

// num++;*/

// return num;

// }

//};

//測試用例55,輸出16

//21345,輸出18821,錯誤18763

int main()

說明:

1. **未經過優化。

思路參考:

這裡寫鏈結內容

2. 劍指offer上有遞迴解法。

牛客網通過:

整數中1出現的次數(從1到n整數中1出現的次數)

求出1 13的整數中1出現的次數,並算出100 1300的整數中1出現的次數?為此他特別數了一下1 13中包含1的數字有1 10 11 12 13因此共出現6次,但是對於後面問題他就沒轍了。acmer希望你們幫幫他,並把問題更加普遍化,可以很快的求出任意非負整數區間中1出現的次數。include u...

整數中1出現的次數(從1到n整數中1出現的次數)

求出1 13的整數中1出現的次數,並算出100 1300的整數中1出現的次數?為此他特別數了一下1 13中包含1的數字有1 10 11 12 13因此共出現6次,但是對於後面問題他就沒轍了。acmer希望你們幫幫他,並把問題更加普遍化,可以很快的求出任意非負整數區間中1出現的次數。演算法一 暴力累加...

整數中1出現的次數(從1到n整數中1出現的次數)

題目描述 求出1 13的整數中1出現的次數,並算出100 1300的整數中1出現的次數?為此他特別數了一下1 13中包含1的數字有1 10 11 12 13因此共出現6次,但是對於後面問題他就沒轍了。acmer希望你們幫幫他,並把問題更加普遍化,可以很快的求出任意非負整數區間中1出現的次數。解題思路...