第八届蓝桥杯【省赛试题5】取数位
来源:互联网 发布:域名 许扬 编辑:程序博客网 时间:2024/06/14 08:15
题目描述:
求1个整数的第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));return 0;}
对于题目中的测试数据,应该打印5。
请仔细分析源码,并补充划线部分所缺少的代码。
注意:只提交缺失的代码,不要填写任何已有内容或说明性的文字。
题目答案:
f(x/10,k)
题目思路:
题目较为简单,要求出数字x的第k位数是多少(从左往右)。f(x,k)为求x的第k位,我们从递归出口可以看出,当x的长度是k的时候,我们返回x的最后一位,那么递归的范围就是x的长度不等于k,那么,我们就需要减少x的长度,通过x/10可以去除最右边位的数字。因为要其的第k位是从左往右数的,所以当x减少位数的时候,对k是没有任何影响的。
1 0
- 第八届蓝桥杯【省赛试题5】取数位
- 第八届蓝桥杯 【Java B组】取数位
- 第八届蓝桥杯第5题取数位
- 蓝桥杯java第八届第五题--取数位
- 第八届蓝桥杯【省赛试题1】购物单
- 第八届蓝桥杯【省赛试题6】最大公共子串
- 第八届蓝桥杯【省赛试题3】承压计算
- 第八届蓝桥杯【省赛试题2】等差素数列
- 第八届蓝桥杯【省赛试题8】包子凑数
- 第八届蓝桥杯【省赛试题10】k倍区间
- 第八届蓝桥杯【省赛试题9】分巧克力
- 第八届蓝桥杯【省赛试题4】方格分割
- 第三届蓝桥杯【省赛试题10】取球游戏
- 第五届蓝桥杯【省赛试题9】地宫取宝
- 第八届蓝桥杯取数位
- 【Java】【第八届蓝桥杯】【试题】【无答案】
- 第八届蓝桥杯试题承压计算
- 第八届蓝桥杯大赛试题及解答
- 如何用Win7远程链接ubuntu14.04桌面
- 华为2017暑期实习生面试体会
- Oracle 11G 使用duplicate from active database 创建DG
- HDU 2115 JAVA
- liunx 中设备的访问(unit14)
- 第八届蓝桥杯【省赛试题5】取数位
- MFC当中的后缀名
- 十二、Mysql 日期处理
- HDU 2116 JAVA
- linux 虚拟机管理(unit15)
- HDU 2117 JAVA
- web.xml是什么?web.xml详解。
- HDU 1213 How Many Tables
- C++智能指针干货