1. 程式人生 > >2013 junior T1 計數問題 題解

2013 junior T1 計數問題 題解

題目描述

試計算在區間 1 到n的所有整數中,數字x(0≤x≤9)共出現了多少次?例如,在 1到 11中,即在 1,2,3,4,5,6,7,8,9,10,11中,數字 1 出現了 4 次。

輸入格式:

2個整數n,x,之間用一個空格隔開。

輸出格式:

1個整數,表示x出現的次數。

輸入樣例#1:

11 1

輸出樣例#1:

4

【樣例說明】

對於100%的資料,
1≤ n ≤ 1,000,000,0 ≤ x ≤ 9

解題思路

暴力
這道題最多是7,000,000次計算,只要從一開始一個數一個數地分解就可以了。

程式碼

#include <iostream>
using namespace std; int main(int argc, const char * argv[]) { int a,b,count=0,ans; cin>>a>>b; for(int i=1;i<=a;i++){ int j=i; while(j!=0){ if(j%10==b){ count++; } j/=10 } } ans=count; cout<<
ans; return 0; }

本來我是沒有解題思路的。。。