gpt4 book ai didi

python - 如何找到小于 x 的最大整数?

转载 作者:太空狗 更新时间:2023-10-29 21:56:57 27 4
gpt4 key购买 nike

如果x2.3,则math.floor(x)返回2.0,即小于的最大整数小于或等于 x(作为 float 。)

如何获取 i strictly 小于 x 的最大整数(作为整数)?

我想到的最好的是:

i = int(math.ceil(x)-1)

有没有更好的办法?

注意,如果 x2.0 那么 math.floor(x) 返回 2.0 但我需要小于2.0的最大整数,即1

最佳答案

math.ceil(x)-1 是正确的,这是证明。

如果 xZ(整数集)中,则 math.ceil(x) = x。因此math.ceil(x)-1=x-1,小于x的最大整数。

否则我们在 R\Z 中有 x 并且 math.ceil(x) 是最小的整数y 使得 xy。但是 y-1 是一个小于满足 xy 的最小整数的整数,因此 x > y-1 并且通过构造 y-1 是小于 x 的最大此类整数。

这很简单,我不会为那些 if-else 而烦恼。但是为了避免 float 的计算错误,我会在 int 转换之外执行 -1

int(math.ceil(x))-1

关于python - 如何找到小于 x 的最大整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27758657/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com