链接:https://ac.nowcoder.com/acm/problem/22001 来源:牛客网 任意给出一个小数,编程求不小于它的最小整数与不大于它的最大整数。 即求出这个小数往下取整与往上取整的值。
时间: 2024-09-26 20:06:03 浏览: 46
HN_OJ.rar_http://acm.hn_hunan oj_oj_湖南大学oj_湖南大学oj网
5星 · 资源好评率100%
题目链接描述的是一个基础的数值处理任务,通常在编程中被称为“向上取整”(Ceiling)和“向下取整”(Floor)。给定一个浮点数,你需要编写一个程序计算两个值:
1. 向上取整(Floor):找到大于或等于该小数的第一个整数,例如如果输入是 3.7,结果是 4,因为4是第一个比3.7大的整数。
2. 向下取整(Ceiling):找到小于或等于该小数的最大整数,同样以3.7为例,结果是4,因为4是小于5且最接近3.7的整数。
在大多数编程语言中,都有内置函数可以直接完成这两个操作,如Python的`math.ceil()`和`math.floor()`,Java的`Math.ceil()`和`Math.floor()`等。如果你需要手动实现,可以考虑通过除法和取余运算来完成。
```python
def floorceil(x):
# 向下取整
floor_val = int(x)
# 向上取整
ceil_val = floor_val + (x - floor_val) if x - floor_val > 0 else floor_val
return floor_val, ceil_val
# 示例
num = 3.7
floor, ceil = floorceil(num)
print(f"向下取整: {floor}, 向上取整: {ceil}")
```
阅读全文