题目描述 :
输入:
k = 1, n = 1
输出:
1
解释:
在 [0, 1] 中,我们发现 1 出现了 1 次 (1)。
输入:
k = 1, n = 12
输出:
5
解释:
在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] 中,我们发现 1 出现了 5 次 (1, 10, 11, 12)(注意11中有两个1)。
分析:k=0时,0开始比其它小于等于10的数字 要多一个。
代码:
#include<iostream>
using namespace std;
int f(int ,int );
int main()
{
int i;
i=f(0,29);
cout<<i<<endl;
}
int f(int k,int n)
{
int count ;//作为返回值
if(k==0)
count=1;
for(int i=0;i<=n;i++)
{
int m=i;
while(m)
{
if(m%10==k)
{
count++;
}
m/=10;
}
}
return count;
}