#951. 小梦的取整

小梦的取整

题目描述

小梦知道在C++语法里,倘若除数与被除数都是整数的话,得到的结果将只会保留整数的部分,也称为整除运算。小熊补充道:取整运算,除了直接取整数部分,还有向上取整、向下取整和四舍五入取整,共4种方式。比如1.5直接取整是1,向下取整是1,向上取整是2,四舍五入取整是2。再比如-1.4直接取整是-1,向下取整是-2,向上取整是-1,四舍五入取整是-1

输入

三个整数a,b和p。a表示被除数,b表示除数。若p为1,则表示直接取整;p为2,则表示向上取整;p为3,则表示向下取整;p为4,则表示四舍五入取整。

输出

一个整数,表示按照p方式对a除以b的结果取整。

输入样例1

3 2 4

输出样例1

2

提示

数据范围

测试数据点编号 p 备注
1 1 a能被b整除
2
3 2
4
5
6 3
7
8
9 4
10

所有测试点,1018a,b1018,b0-10 ^ {18} \le a, b \le 10 ^ {18}, b \neq 0,请使用long long作为数据类型。