#158. [中级组] 递归法取数位
[中级组] 递归法取数位
题目背景
求一个整数的第k位数字有很多种方法。
以下的方法就是一种。
题目所给代码如下:
// 求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 ___________; //填空
}
int main()
{
int x = 23574;
printf("%d\n", f(x,3));
}
对于题目中的测试数据,应该打印 。
请仔细分析源码,补充划线部分所缺少的代码,然后修改上述代码并解决如下问题。
题目描述
给你两个十进制整数 和 ,求 从高到低第 位上的数字。
输入格式
一行,两个整数 和 ()。
输出格式
输出共一行。
第一行,一个整数,表示 的十进制表示从高到低第 位上的数字。
样例
23574 3
5
题目来源
第 11 届蓝桥杯青少组 C++ 选拔赛中级组