K好数
题目描述
当且仅当一个数的每一位都不超过k时,称这个数是“k好数”。
给定n和k,输出1到n中有多少个数是“k好数”。
输入
输入只有一行,包含2个用空格隔开的整数n和k。
输出
输出只有一行,包含1个整数,表示1到n中“k好数”的个数。
样例输入
25 3
样例输出
11
提示
1到25中11个“k好数”分别为1,2,3,10,11,12,13,20,21,22,23。
对于50%的数据,1≤n≤1000。
对于100%的数据,1≤n≤1000000,1≤k≤9。
解题思路:
因为感觉写的代码,思路清晰,代码一流,所以写篇题解hhhh
枚举1~n中的数,写一个函数判断这些数 是否每一位都不超过k。
AC代码:
#include <iostream>using namespace std;int n,k,res=0;bool fun(int i){while(i){int t=i%10;if(t>k)return false;i/=10;}return true;}int main(){cin>>n>>k;for(int i=1;i<=n;i++){if(fun(i))res++;}cout<<res;}