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;
}
版权声明:本文为qq_46009744原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。