#技术岗笔试题求解#给一个"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$ 位数字之后的最小正浮点数。
相关推荐
03-09 17:18
蚌埠坦克学院 Java 点赞 评论 收藏
分享
02-11 13:25
燕京理工学院 数据分析师
在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。
建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分 点赞 评论 收藏
分享