栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

重庆市九龙坡区第四届计算思维编程竞技活动——c++组

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

重庆市九龙坡区第四届计算思维编程竞技活动——c++组

c++组 复赛 测试试题 命题人:北京大学 李畅 考试说明: 1. 试卷 1~4 题每题 100 分, 总共 400 分; 2. 评分标准:运行程序,输入十个测试数据,一个答案正确,得 10 分; 3. 输入输出:按题目的要求输入、输出,从键盘输入,屏幕输出,测试方 式为电脑自动评测,不能有多余的输出信息; 4. 在电脑桌面上以考号为文件名建好了一个文件夹作为工作目录,(如 611 考室座位号 01 ,考号为 61101 ,文件夹名称为 ”61101” ),每做完一题, 应及时用“t+题号” ( 例如“ t1.cpp ”、“t2.cpp”、“t3.cpp”分别表示第 一、二题、三题) 为文件名存入工作目录中。 5. 测评时间限制为 1 秒,对于所有的输入数据,考生的程序必须在运行 1 秒内得出正确结果才能得分。 6. 测评内存限制,对于所有的输入数据,考生的程序运行使用的内存空 间不超过 512M 7.C++ 程序基本框架: #include using namespace std; int main() { return 0; } 第一题 填积木( t1.cpp ) 【 问题描述 】 有一块长为 m, 宽为 n ,高为 h 的魔幻空间,需要你用长宽高都是 a 的正方体 积木填满整个空间(积木可以超出这块魔幻空间的范围 ) ,你不能把积木打碎, 请问你至少需要多少块积木才能把魔幻空间填满。 【输入】 输入为 4 个整数 n,m,h 和 a ,分别表示魔幻空间的长宽高和正方体积木的长 宽高。 【输出】 输出为一个正整数表示至少要多少块积木 ( 提示:请使用 long long 类型,输出结果保证不超出 long long 类型范围 ) 。 输入输出样例 输入 5 1 1 2 输出 3 输入 10 10 1 3 输出 16 输入 4 5 6 2 输出 18 输入 1234567 7654321 3333333 213 输出 3260223524800 样例说明: 样例 1 :长为 5, 宽和高都为 1 的魔幻空间,积木的边长为 2 ,用 3 块积木才能填 满; 【数据范围】 有 20% 的数据,保证 1 ≤ n,m,h,a ≤ 100 。 有 10% 的数据,保证 1 ≤ n,m,h ≤10^6,a=1 。 有 20% 的数据,保证 1 ≤ n,a ≤10^9,m=h=1 。 有 20% 的数据,保证 1 ≤ n,m,a ≤10^9,h=1 。 对于 100% 的数据,保证 1 ≤ n,m,h,a ≤ 10^ 9 。 第二题 闰年( t2.cpp ) 【 问题描述 】 能被 4 整除但不能被 100 整除的年份是闰年;能被 400 整除的年份也是闰年。 比如 2024 年是闰年,2022 年不是闰年;2000 年是闰年,2100 年不是闰年; 给出正整数 a 和 b,求第 a 年到第 b 年之间有多少个闰年(包括 a 和 b)。 【输入】 输为两个用空格隔开的整数 a 和 b(a<=b)。 【输出】 输出为一个数,表示有多少个闰年。 ( 提示:请使用 long long 类型 ) 输入输出样例 输入 2000 2024 输出 7 输入 1 1000 输出 242 输入 1 1000000 输出 242500 输入 1 100000000000 输出 24250000000 输入说明:1 后面有 11 个 0) 【数据范围】 对于 30% 的数据,保证 1<=a,b<=100; 对于 50% 的数据,保证 1<=a,b<=10^ 6 ; 对于 100% 的数据,保证 1<=a,b<=10^ 12 。 第三题 发牌( t3.cpp) 【 问题描述 】 小雨同学在玩发牌的游戏,她有 N 张牌,第一张牌的数字是 1,第二张的 数字是2,第三张的数字是3,...,第十三张的数字是13,第十四张的数字是1,..., 以此类推,第 n 张牌的数字是(n-1)%13+1;发牌的方式是“藏一发一”,把第 1 张放到最后,发第 2 张,把第 3 张放到最后,发第 4 张,把第 5 张放到最后,发 第 6 张,...,一直这样发下去,直到剩下一张牌为止,问剩下的最后一张牌的数 字是多少? 【输入】 输入为一个数 N,表示牌的数量。 【输出】 输出最后一张牌的数字。 输入输出样例 输入 13 输出 11 输入 3 输出 3 输入 1000 输出 2 输入 1000000 输出 7 输入 10000000000 输出 10 样例说明:(样例 5 输入:1 后面有 10 个 0) 样例 1 解释:发牌的顺序为: 2,4,6,8,10,12,1,5,9,13,7,3,11 。 样例 2 解释:发牌的过程为:把第 1 放到最后,发 2 ,把 3 放到最后,发 1 ,还 剩一张 3 ; 【数据范围】 对于 20% 的数据,保证 1<=N <=13 。 对于 40% 的数据,保证 1<=N <=1000 。 对于 80% 的数据,保证 1<=N <=10^ 6 。 对于 100% 的数据,保证 1<=N <=10^ 15 。 第四题 不进位算术运算( t4.cpp ) 【 问题描述 】 楠楠在学算术运算,已经学了加减乘三种运算,但他在加法和乘法中不会进 位,在减法中不会借位,所以他在做算术题的时候直接忽略进位和借位,算出的 结果可能与正确的答案不一样,以下是楠楠的计算结果: 25+34=59;5+9=4;1537+375=1802; 7 × 9=3;25 × 34=630; 26-17=19;1537-375=1262;25-34=91;25-37=98; 比如计算 25 × 34 的方法: 比如在计算 25 减 37 时,先把被减数的个位 5 减去减数的个位数 7,发现不 能减,就把 5 加 10 再减 7 得到个位是 8;再把被减数的十位数 2 减去减数的十 位数 3,发现不能减,就把 2 加 10 再减 3 得到十位是 9,最后楠楠算出的结果是 98; 众所周知,计算机里使用的是二进制,现在你学了二进制,知道二进制的原 理和计算方法了:二进制是逢二进一,只使用 0 和 1 两个数字; 二进制计算方法: 0+0=0;1+0=1;1+1=10; 0 × 0=0;1 × 0=0;1 × 1=1; 0-0=0;1-0=1;1-1=0; 你对楠楠的计算方法很感兴趣,想知道在二进制中按楠楠的不进位和不借位 的方法计算的结果。 楠楠的二进制计算方法: 0+0=0;1+0=1;1+1=0; 0 × 0=0;1 × 0=0;1 × 1=1; 0-0=0;1-0=1;1-1=0;0-1=1 现给出两个运算数和一个运算符,请你按楠楠算法计算在十进制和二进制下 计算的结果。 【输入】 输入四个用空格隔开的整数 a,b,f,m,其中 a,b 为两个运算数,f 为运算符 ( f 为 1 表示加法运算,f 为 2 表示减法运算,f 为 3 表示乘法运算),m 为 2 或 10,如果 m 等于 2 表示在二进制下的运算,如果 m 等于 10 表示在十进制下的 运算。 【输出】 输出为一个数,表示按楠楠算法计算出的结果(保证输出结果为整数范围)。 输入输出样例 样例 1 样例 2 样例 3 样例 4 样例 4 样例 4 输入 2 3 1 10 输出 5 输入 25 34 3 10 输出 630 输入 25 37 2 10 输出 98 输入 111 10 1 2 输出 101 输入 101 10 2 2 输出 111 输入 111 111 3 2 输出 10101 【数据范围】 对于 40% 的数据,保证 f=1 。 对于 30% 的数据,保证 f=2 。 对于 30% 的数据,保证 f=3 。 对于 50% 的数据,保证 m=10 。 对于 100% 的数据,保证 0<=a,b<=10 9 。 以下是 20 以内 10 进制与二进制对应表
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1012780.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号