版权声明:欢迎加入快乐划水小白交流群:867657085 https://blog.csdn.net/Alfa_Jin/article/details/89000475
依旧是归在循环里面,但是依旧不想写简单循环一个个数字找(这种做法没试过,也不知道会不会时间超限),下面是找规律AC代码:
#include<stdio.h>
int num = 0;
void solve(int ye,int biaoji, int i){
int wei = ye / biaoji % 10;
num += ( ye / ( biaoji * 10 )) * biaoji;
if(i < wei) num += biaoji;
if(i == wei) num += ((ye % biaoji) + 1);
if(i == 0) num -= biaoji;
biaoji *= 10;
if(biaoji <= ye) solve(ye, biaoji, i);
}
int main(){
int ye, i;
scanf("%d%d", &ye, &i);
solve(ye, 1, i);
printf("%d\n",num);
return 0;
}