2018.11.14信息学奥赛辅导 向上取整
适时提问:引导谈判方向,获取更多信息 #生活技巧# #谈判技巧# #职场谈判技巧#
ceil函数:
ceil:在英文中,是天花板的意思,有向上的意思,所以,此函数是向上取整。
用 法: double ceil(double x);
功 能: 返回大于或者等于指定表达式的最小整数
头文件: #include<cmath>
说明:
float ceil ( float value )
返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
#include<cstdio>
#include<cmath>
int main()
{
double a = ceil(5.4);
printf("%d",(int)a);
return 0;
}
'输出结果为:6
#include<cstdio>
#include<cmath>
int main()
{
printf("%d",(int)ceil(5.4));
return 0;
}
'输出结果:6
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
cout << ceil(5.4);
return 0;
}
输出结果:6
【注意】下面的这种写法不对
#include<cstdio>
#include<cmath>
int main()
{
printf("%d",ceil(5.4));
return 0;
}
输出结果:0
原因:因为ceil()函数的返回值为double类型,而我们输出的类型是%d类型,所以会出错。因此我们最好在ceil函数前面加一个强制类型转换,将ceil的值转为int类型。
int
int 是向下取整数.
#include<cstdio>
int main()
{
printf("%lf",5.7);
return 0;
}
输出结果:5.700000
#include<cstdio>
int main()
{
printf("%d",(int)5.7);
return 0;
}
'输出结果:5
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
cout << int(5.7);
return 0;
}
输出结果:5
注意:这样写会报错。
#include<cstdio>
int main()
{
printf("%d",5.7);
return 0;
}
也是因为5.7是小数类型的,而“%d”指的是整数,类型不一致,输出的结果可能是任意的数。
例题:
【苹果和虫子】
描述
你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
输入
输入仅一行,包括n,x和y(均为整数)。输入数据保证y <= n * x。
输出
输出也仅一行,剩下的苹果个数
样例输入
10 4 9
样例输出
7
提示
注意:是要求完整的苹果数。
代码:
(用ceil函数)
#include<cstdio>
#include<cmath>
int main()
{
double x,y;
int n;
scanf("%d%lf%lf",&n,&x,&y);
int k = ceil(y/x);
printf("%d",n-k);
return 0;
}
(用int强制类型转换)
#include<cstdio>
int main()
{
double n, x, y;
scanf("%lf%lf%lf",&n,&x,&y);
int k = n - y/x;
printf("%d",k);
return 0;
}
或者:
#include<cstdio>
#include<cmath>
int main()
{
double n,x,y;
scanf("%lf%lf%lf",&n,&x,&y);
printf("%d",(int)(n-y/x));
return 0;
}
'网址:2018.11.14信息学奥赛辅导 向上取整 https://www.yuejiaxmz.com/news/view/193310
相关内容
【能力大赛185】破解案例分析(四)心理辅导类 – 高校辅导员工作室一对一辅导
“引导学生讲述自身经历”,武汉一高校将叙事取向生涯咨商引入辅导员培训
2024年第21届全国大学生信息安全与对抗技术竞赛 “智能安全赛”通知
关于举办信息管理学院第二届全国大学生职业规划大赛的通知
凡尔赛的极致是在凡尔赛宫看奥运
辅导员工作案例
孩子该不该上课外辅导班
引导学生在信息技术课堂上协作学习
初中生活学习指导:初中家长可5方面辅助孩子转变