#include
#include
#include
using namespace std;
const int CLK = 24; // 24小时制
const int LMT_H = 8; // 到校小时上限
const int LMT_M = 0; // 到校分钟上限
const int EXT = 10; // 额外消耗分钟数
int main() {
int s, v;
cin >> s >> v;
int costM = ceil(1.0 * s / v) + EXT; // 计算消耗分钟
int costH = ceil(1.0 * costM / 60); // 计算消耗小时
costM %= 60; // 保留60进制下的分钟部分
printf("%02d:%02d", (LMT_H - costH + CLK) % CLK, (LMT_M - costM + 60) % 60); // 输出结果
return 0;
}
ceil
函数是 C 和 C++ 标准库中提供的一个数学函数,其作用是向上取整,即将一个浮点数(例如,double
或 float
类型)向上取整到最接近的整数。如果这个浮点数已经是一个整数,则返回其本身。
函数原型:
在 C 中,ceil
函数定义在 <math.h>
头文件中,其原型如下:
double ceil(double x);
在 C++ 中,ceil
函数定义在 <cmath>
头文件中,其原型与 C 中相
double ceil(double x);
功能描述:
- 输入:函数接受一个浮点数
x
作为输入。 - 处理:函数将
x
向上取整到比x
大的最接近的整数。 - 输出:返回一个
double
类型的值,表示向上取整后的结果。
使用
#include <stdio.h> #include <math.h> int main()
{ double num = 3.14; printf("The ceil of %f is %f\n", num, ceil(num)); return 0; }
这段代码将输出:
The ceil of 3.140000 is 4.000000
注意事项:
ceil
函数对于负数的行为是向零方向取整。例如,ceil(-3.14)
的结果是-3
。- 如果输入的浮点数已经是一个整数,
ceil
函数将返回该整数。例如,ceil(42.0)
的结果是42
。 - 使用
ceil
函数时,需要包含相应的头文件<math.h>
(C 语言)或<cmath>
(C++)。
ceil
函数在需要确保数值向上取整到下一个整数时非常有用,例如在内存分配、时间计算、图形处理等领域。