题⽬名称 7 的倍数 计算器 放学路径 数字键盘
题⽬类型 传统型 传统型 传统型 传统型
⽬录 seven calc school keyboard
可执⾏⽂件名 seven calc school keyboard
输⼊⽂件名 seven.in calc.in school.in keyboard.in
输出⽂件名 seven.out calc.out school.out keyboard.out
每个测试点时限 1.0 秒 1.0 秒 1.0 秒 1.0 秒
内存限制 256 MiB 256 MiB 512 MiB 512 MiB
测试点数⽬ 10 20 10 49
测试点是否等分 是 是 是 否
对于 C++ 语⾔ seven.cpp calc.cpp school.cpp keyboard.cpp
对于 C++ 语⾔ -O2 -std=c++14
BCSP⼩⾼组编程能⼒题⽬样卷
提交源程序⽂件名
编译选项
T1 7 的倍数(seven)
题⽬描述
⼀周只有 天,并且每周都有周六或周⽇可以休息。
⼩ Z 因此对 这个数字产⽣了兴趣。现在给定两个正整数 和 ,⼩ Z 可以从区间 和区间 中分别
选出两个整数 ,即选出来的 需要满⾜ 。
问,现在有多少对不同的 的组合使得 是 的倍数。
这⾥,不同的组合指的是,对于任意⼀对 只要对应的 或 不同就算不同。
输⼊格式
从 seven.in ⽂件读⼊数据。
⼀⾏,输⼊两个正整数 。
输出格式
输出到 seven.out ⽂件。
输出⼀⾏⼀个整数表示答案。
样例
输⼊数据 1
输出数据 1
说明/提示
样例解释
选出的数对可以是 。
数据范围
对于 的数据, 。
对于所有的数据, 。
T2 计算器(calc)
题⽬描述
⼩ Z 想⾃⼰做⼀个计算器,使得输⼊⼀个包含加法、减法、乘法三种运算的字符串算式,形如 3+5*4*2+1=,这个
计算器就可以输出算式的计算结果。
当然众所周知,如果有⼤量乘法连在⼀起,那么很快这个数就会变得很⼤,故⽽我们只需要输出答案对 的
余数即可。
注意,本题计算取模时,负数的取模结果应该要为正数,即做减法时,取模应该是 ,其
中 是模数。
例如 (1-3) % 3 要写成 (1-3+3) % 3 他的结果应该是 1。
不过为了让题⽬尽可能地简单,对于输⼊的字符串,有如下保证:
1. 字符串⼀定是⼀个个位数( 0 ~ 9)开始,且个位数和运算符交替出现,最终以等号结尾。即数字不会连续
出现。
6 71
61
2. 运算符要么仅包含 + 和 -,要么仅包含 + 和 *。
3. 综上所述,字符串中仅包含 0 ~ 9、+、-、* 共 种字符,且 - 和 * 不会同时出现。
4. 字符串的⻓度 。
输⼊格式
从 calc.in ⽂件读⼊数据。
输⼊包含⼀⾏,为⼀个符合 "保证"的字符串。
输出格式
输出到 calc.out ⽂件。
输出包含⼀⾏⼀个整数,代表输⼊算式的计算结果对 取余的
BCSP-X小高组编程能力题目样卷,北京中小学信息学能力测评