蓝桥杯每日一题2023.11.6

取位数 - 蓝桥云课 (lanqiao.cn)

题目描述

蓝桥杯每日一题2023.11.6_第1张图片

 题目分析

由题意我们知道len中为现阶段长度,如果其与k相等也就是找到了正确的位数,否则就调用递归来进行搜索,每次搜索一位数。

#include 
// 求x用10进制表示时的数位长度 
int len(int x){
    if(x<10) return 1;
    return len(x/10)+1;
}
    
// 取x的第k位数字
int f(int x, int k){
    if(len(x)-k==0) return x%10;
    return f(x/10,k);//填空
}
    
int main()
{
    int x = 23574;
    printf("%d\n", f(x,3));
    printf("%d\n", f(893275,2));
}

你可能感兴趣的:(蓝桥杯,职场和发展)