博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
取位数
阅读量:2080 次
发布时间:2019-04-29

本文共 474 字,大约阅读时间需要 1 分钟。

1.首先需要明白的两个知识点

%10 :取最后一位
/10 : 去掉最后一位
题目如下:

求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。
请仔细分析源码,并补充划线部分所缺少的代码。
注意:只提交缺失的代码,不要填写任何已有内容或说明性的文字。

解题思路:

题目已经给写出是取位数,len(x)函数是用来计算数字的长度,%10用来取位数,根据空格:可知是递归
答案为:

f(x/10,k)

最后可运行一下代码看是否相符即可

转载地址:http://nekqf.baihongyu.com/

你可能感兴趣的文章
Spark优化总结(二)——代码编写
查看>>
Spark优化总结(三)——调参
查看>>
消息队列——RocketMQ示例
查看>>
Spark优化总结(四)——业务与架构设计
查看>>
volatile在JVM内存交互中的操作
查看>>
实现一个具有Stream的链式、惰性特点的容器
查看>>
Spark源码编译
查看>>
分布式一致性算法(Paxos、Raft、ZAB)
查看>>
MPC多方安全计算——比较算法示意
查看>>
Akka事件驱动——模拟Spark注册、心跳
查看>>
Flink示例——Source
查看>>
Flink示例——Sink
查看>>
Flink示例——Connect、CoMapFunction、Split、Select
查看>>
Flink示例——Window、EventTime、WaterMark
查看>>
Flink示例——State、Checkpoint、Savepoint
查看>>
Flink示例——Table、SQL
查看>>
HBase之Rowkey设计
查看>>
推荐算法——ALS模型算法分析、LFM算法
查看>>
Spark源码剖析——RpcEndpoint、RpcEnv
查看>>
Spark源码剖析——Master、Worker启动流程
查看>>