题意
求1~n中,有多少个K好数(每个位上的数都不超过k)。
思路
直接枚举,或者用动态规划,这里我先做出了枚举的方法。
代码
#include<cstdio>
int n,k,ans,x,f;
int main()
{
scanf("%d%d",&n,&k);
for (int i=1;i<=n;i++)
{
f=0;
x=i;
while (x!=0)//分解每一位
{
int g=x%10;
x/=10;
if (g>k) {f=1;break;}//有超过k的直接退出
}
if (!f) ans++;
}
printf("%d",ans);
}
本文介绍了一种算法,用于计算1到n范围内所有位数不超过k的整数的数量。通过枚举法或动态规划实现,主要使用C++语言进行编码。
1136

被折叠的 条评论
为什么被折叠?



