#技术岗笔试题求解#给一个"0.xxxx"型的正浮点数,删除小数点后的任意位数字,求能得到的最大小数是多少,需要删除末尾0
全部评论
假设给定的正浮点数为 $x$,要删除小数点后的第 $n$ 位数字,则可以将 $x$ 乘以 $10^n$,然后向下取整得到整数 $y$,再将 $y$ 除以 $10^n$,得到删除小数点后的第 $n$ 位数字之后的数。最后将这个数除以 $10^k$,其中 $k$ 是这个数末尾的零的个数,即可得到最终的结果。
具体的实现可以参考下面的 Python 代码:
```python
def min_float(x, n):
y = int(x * 10**n)
z = y // 10**(n-1)
while z % 10 == 0:
z //= 10
return z / 10**(n-len(str(z)))
```
其中,`x` 是给定的正浮点数,`n` 是要删除的小数点后的位数。函数返回的是删除小数点后的第 $n$ 位数字之后的最小正浮点数。
相关推荐
葛明珠:被动打杂真的是实习的坑,主动找问题 + 带方案沟通,才是实习的正确打开方式
点赞 评论 收藏
分享
点赞 评论 收藏
分享
2025-12-04 17:51
门头沟学院 前端工程师
咪咪虫:小厂神人多,我昨天早上那个深圳500-1000人的厂,面试官迟到10分钟进来第一句话是:居然是个妹子,然后一直说自己没有准备什么的,全程八股都是支支吾吾的问。下午那个线下的广州280人的厂,二轮技术面一直在问我数据结构、操作系统、计算机网络,还问我高考多少分、为什么不上课、为什么住在学校外面、是什么时候高考的。。。脸上就是质疑和不屑,俩个体验感奇差 点赞 评论 收藏
分享

查看1道真题和解析