統計1 N中數字x出現的次數

2021-09-26 01:39:38 字數 947 閱讀 3260

統計1~n中數字2出現的次數

例:n=abcdefg

例:請統計某個給定範圍[l, r]的所有整數中,數字2出現的次數。

比如給定範圍[2, 22],數字2在數2**現了1次,在數12**現1次,在數20**現1次,在數21**現1次,在數22**現2次,所以數字2在該範圍內一共出現了6次。

#include using namespace std;

int f(int n)

res+=left*power;

if(num[i]==2) res+=right+1;

else if(num[i]>2) res+=power;

}return res;

}int main()

公升級版:試計算在區間1 到n 的所有整數中,數字x(0 ≤ x ≤ 9)共出現了多少次?

當x為1到9時,分析過程同上。當x為0時,需要注意有一種情況是不存在的,即當前位是0,並且前面幾位是000,那麼後面的數字就是0000***了,合法的數字不能有前導0。所以字首的取值範圍是(001~abc-1),字尾為(000~999),共(abc-1)*1000個。所以當x為0時,計算的每一位都要減去乙個power

int f(int n,int x)

/*當x不為0時,字首數量為abc*power

當x為0時,字首數量為(abc-1)*power

*/res+=left*power;

if(!x) res-=power;

if(num[i]==x) res+=right+1;

else if(num[i]>x) res+=power;

}return res;

}

1 n 之間 數字x出現的次數

宣告 僅個人小記 輸入 n 整數,0 x 9 輸出 1 n 中 數字x出現的次數 include include using namespace std int main void endtime clock cout cnt endl cout time elpased double endtim...

1 n中1出現的次數

輸入乙個整數 n 求1 n這n個整數的十進位制表示中1出現的次數。例如,輸入12,1 12這些整數中包含1 的數字有1 10 11和12,1一共出現了5次。示例 1 輸入 n 12 輸出 5 示例 2 輸入 n 13 輸出 6 解析需要通過找規律來分析。假設我們對5014這個數字求解。1 個位上1出...

計算1至n中數字X出現的次數

以 n 2593,x 5 為例來解釋如何得到數學公式。從 1 至 2593 中,數字 5 總計出現了 813 次,其中有 259 次出現在個位,260 次出現在十位,294 次出現在百位,0 次出現在千位。現在依次分析這些資料,首先是個位。從 1 至 2590 中,包含了 259 個 10,因此任意...