蓝桥杯java第八届第五题--取数位

标题:取数位

求1个整数的第k位数字有很多种方法。
以下的方法就是一种。

public class Main
{
    static int len(int x){
        if(x<10) return 1;
        return len(x/10)+1;
    }

    // 取x的第k位数字
    static int f(int x, int k){
        if(len(x)-k==0) return x%10;
        return ______________________;  //填空
    }

    public static void main(String[] args)
    {
        int x = 23513;
        //System.out.println(len(x));
        System.out.println(f(x,3));
    }
}

对于题目中的测试数据,应该打印5。

请仔细分析源码,并补充划线部分所缺少的代码。

注意:只提交缺失的代码,不要填写任何已有内容或说明性的文字。

解析:其实今年的题目这个算是简单的,分析一下,len函数就是计算一个字符串的长度的,如果k没有达到字符串的长度,就对10取余,就相当于得到字符串的最后一位,所以你的目的就是要把第k位的字符串的到,所以只要将x每次除以10,这样就少了一位,当k等于len的时候,就取余10得到k位的数字。

答案:f(x/10,k)

你可能感兴趣的:(蓝桥杯java第八届第五题--取数位)