码迷,mamicode.com
首页 > 其他好文 > 详细

17蓝桥杯竞赛题“取数位”

时间:2018-02-10 15:56:59      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:bsp   oid   应该   数字   nbsp   测试数据   划线   static   blog   

求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。

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

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

 

 

我的答案

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 f(x/10, k);  //填空
    }
    
    public static void main(String[] args)
    {
        int x = 23513;
        //System.out.println(len(x));
        System.out.println(f(x,3));
    }
}

 

17蓝桥杯竞赛题“取数位”

标签:bsp   oid   应该   数字   nbsp   测试数据   划线   static   blog   

原文地址:https://www.cnblogs.com/jzl123/p/8438766.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!