HM240 算术套件
HM240 算术套件
来源: 第 240 集 内建函数对象-算术仿函数
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
STL 已经写好了一批仿函数,直接拿来用即可,头文件是 functional。内建函数对象通常分三类:算术仿函数、关系仿函数、逻辑仿函数。本任务只用算术仿函数,完成四则运算和取模。
算术仿函数里:
negate是一元运算,只有一个操作数,例如对 \(50\) 取反得到 \(-50\)。plus、minus、multiplies、divides、modulus都是二元运算,需要左右两个操作数。会加法就会其余几个,只是换类名。
这些模板只写**一个**类型参数。plus<int> 只允许两个 int 相加,不能一个整型加一个浮点型或自定义类型,默认认定左右是同种类型。
对读入的整数 \(x\) 用 negate<int> 取反;再对 \(a, b\) 依次用上述五个二元仿函数计算。必须调用这些内建函数对象,不要手写运算符凑答案。
输入格式
第一行一个整数 \(x\)。
第二行两个整数 \(a, b\)。保证 \(b \ne 0\)。
输出格式
共六行,每行一个整数,依次为:
negate(x),plus(a,b),minus(a,b),multiplies(a,b),divides(a,b),modulus(a,b)。
除法和取模按 C++ 对 int 的规则。
样例
输入 #1
50
10 20
输出 #1
-50
30
-10
200
0
10
输入 #2
-7
9 4
输出 #2
7
13
5
36
2
1
说明
所有输入均为 int 范围内整数,乘法结果的绝对值不超过 \(10^9\)。
样例 #1 对应取反 \(50\) 以及 \(10\) 与 \(20\) 的加、减、乘、除、模。创建函数对象后,用小括号像函数一样调用即可。
信息
- ID
- 1239
- 难度
- 9
- 分类
- (无)
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 通过率
- 100%
- 上传者