洛谷-训练场-新手村-循环!循环!循环!-P1980 计数问题

版权声明:欢迎加入快乐划水小白交流群: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;
}

猜你喜欢

转载自blog.csdn.net/Alfa_Jin/article/details/89000475
今日推荐