HM240 算术套件

HM240 算术套件

HM240 算术套件

来源: 第 240 集 内建函数对象-算术仿函数

难度: 普及-

时间限制: 1s

空间限制: 64MB

题目描述

STL 已经写好了一批仿函数,直接拿来用即可,头文件是 functional。内建函数对象通常分三类:算术仿函数、关系仿函数、逻辑仿函数。本任务只用算术仿函数,完成四则运算和取模。

算术仿函数里:

  • negate 是一元运算,只有一个操作数,例如对 \(50\) 取反得到 \(-50\)。
  • plusminusmultipliesdividesmodulus 都是二元运算,需要左右两个操作数。会加法就会其余几个,只是换类名。

这些模板只写**一个**类型参数。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%
上传者