B1087 有多少不同的值 (20 分)(简单)
当自然数 n 依次取 1、2、3、……、N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?(注:⌊x⌋ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分。)
输入格式:输入给出一个正整数 N(2≤N≤104)。
输出格式:在一行中输出题面中算式取到的不同值的个数。
输入样例:2017
输出样例:1480
代码:123456789101112131415161718#include <cstdio>#include <iostream>#include <algorithm>using namespace std;int main(){ int n,count=0; int sum=1;//因为第一个为0,所以要统计进去,所以取sum=1 cin>>n; for(int i=1;i<=n;i++){ int x = i/2+i/3+i/5; if(x!=sum){ count++; sum=x; } } cout<<cou ...
B1086 就不告诉你 (15 分)(简单)
做作业的时候,邻座的小盆友问你:“五乘以七等于多少?”你应该不失礼貌地围笑着告诉他:“五十三。”本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积。
输入格式:输入在第一行给出两个不超过 1000 的正整数 A 和 B,其间以空格分隔。
输出格式:在一行中倒着输出 A 和 B 的乘积。
输入样例:5 7
输出样例:53
代码:1234567891011121314#include <cstdio>#include <iostream>#include <string>#include <algorithm>using namespace std;int main(){ int a,b; cin>>a>>b; string c=to_string(a*b); reverse(c.begin(),c.end()); int d = stoi(c); cout<<d; return 0; }
B1084 外观数列 (20 分)(一般)
外观数列是指具有以下特点的整数序列:
d, d1, d111, d113, d11231, d112213111, …它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个 d,所以就是 d1;第 2 项是 1 个 d(对应 d1)和 1 个 1(对应 11),所以第 3 项就是 d111。又比如第 4 项是 d113,其描述就是 1 个 d,2 个 1,1 个 3,所以下一项就是 d11231。当然这个定义对 d = 1 也成立。本题要求你推算任意给定数字 d 的外观数列的第 N 项。
输入格式:输入第一行给出 [0,9] 范围内的一个整数 d、以及一个正整数 N(≤ 40),用空格分隔。
输出格式:在一行中给出数字 d 的外观数列的第 N 项。
输入样例:1 8
输出样例:1123123111
思路:第一反应用计数排序,字符串的方法一时没想到
代码1:123456789101112131415161718192021//这个思路是字符串 ,远不如计数排序好理解 #include <iostream>#inc ...
B1083 是否存在相等的差 (20 分)(简单)
给定 N 张卡片,正面分别写上 1、2、……、N,然后全部翻面,洗牌,在背面分别写上 1、2、……、N。将每张牌的正反两面数字相减(大减小),得到 N 个非负差值,其中是否存在相等的差?
输入格式:输入第一行给出一个正整数 N(2 ≤ N ≤ 10 000),随后一行给出 1 到 N 的一个洗牌后的排列,第 i 个数表示正面写了 i 的那张卡片背面的数字。
输出格式:按照“差值 重复次数”的格式从大到小输出重复的差值及其重复的次数,每行输出一个结果。
输入样例:83 5 8 6 2 1 4 7
输出样例:5 23 32 2
注意点:本题虽然不难,但是需要注意下,1,第一个循环输入时,要从i=1开始,2,输出时,只需要输出重复的,所以只有一个值的就不用输出了
代码:123456789101112131415161718#include <cstdio>#include <iostream>#include <algorithm>#include <cmath>using namespace std;int main(){ in ...
B1082 射击比赛 (20 分)(简单)
本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军;谁差得最远,谁就是菜鸟。本题给出一系列弹洞的平面坐标(x,y),请你编写程序找出冠军和菜鸟。我们假设靶心在原点(0,0)。
输入格式:输入在第一行中给出一个正整数 N(≤ 10 000)。随后 N 行,每行按下列格式给出:
ID x y其中 ID 是运动员的编号(由 4 位数字组成);x 和 y 是其打出的弹洞的平面坐标(x,y),均为整数,且 0 ≤ |x|, |y| ≤ 100。题目保证每个运动员的编号不重复,且每人只打 1 枪。
输出格式:输出冠军和菜鸟的编号,中间空 1 格。题目保证他们是唯一的。
输入样例:30001 5 71020 -1 30233 0 -1
输出样例:0233 0001
代码:123456789101112131415161718192021222324252627#include <cstdio>#include <iostream>#include <algorithm>#include <cmath> using namespa ...
B1081 检查密码 (15 分)(简单)
本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点 .,还必须既有字母也有数字。
输入格式:输入第一行给出一个正整数 N(≤ 100),随后 N 行,每行给出一个用户设置的密码,为不超过 80 个字符的非空字符串,以回车结束。
输出格式:对每个用户的密码,在一行中输出系统反馈信息,分以下5种:
如果密码合法,输出Your password is wan mei.;如果密码太短,不论合法与否,都输出Your password is tai duan le.;如果密码长度合法,但存在不合法字符,则输出Your password is tai luan le.;如果密码长度合法,但只有字母没有数字,则输出Your password needs shu zi.;如果密码长度合法,但只有数字没有字母,则输出Your password needs zi mu.。
输入样例:5123szheshi.wodepw1234.5678WanMei23333pass*word.6
输出样例:Your passwo ...
B1077 互评成绩计算 (20 分)(简单)
在浙大的计算机专业课中,经常有互评分组报告这个环节。一个组上台介绍自己的工作,其他组在台下为其表现评分。最后这个组的互评成绩是这样计算的:所有其他组的评分中,去掉一个最高分和一个最低分,剩下的分数取平均分记为 G1;老师给这个组的评分记为 G2。该组得分为 (G1+G2)/2,最后结果四舍五入后保留整数分。本题就要求你写个程序帮助老师计算每个组的互评成绩。
输入格式:输入第一行给出两个正整数 N(> 3)和 M,分别是分组数和满分,均不超过 100。随后 N 行,每行给出该组得到的 N 个分数(均保证为整型范围内的整数),其中第 1 个是老师给出的评分,后面 N−1 个是其他组给的评分。合法的输入应该是 [0,M] 区间内的整数,若不在合法区间内,则该分数须被忽略。题目保证老师的评分都是合法的,并且每个组至少会有 3 个来自同学的合法评分。
输出格式:为每个组输出其最终得分。每个得分占一行。
输入样例:6 5042 49 49 35 38 4136 51 50 28 -1 3040 36 41 33 47 4930 250 -25 27 45 3148 0 0 50 50 ...
B1076 Wifi密码 (15 分)(简单)
下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码。这里简单假设每道选择题都有 4 个选项,有且只有 1 个正确答案。
输入格式:输入第一行给出一个正整数 N(≤ 100),随后 N 行,每行按照 编号-答案 的格式给出一道题的 4 个选项,T 表示正确选项,F 表示错误选项。选项间用空格分隔。
输出格式:在一行中输出 wifi 密码。
输入样例:8A-T B-F C-F D-FC-T B-F A-F D-FA-F D-F C-F B-TB-T A-F C-F D-FB-F D-T A-F C-FA-T C-F B-F D-FD-T B-F C-F A-FC-T A-F B-F D-F
输出样例:13224143
代码:12345678910111213141516#include < ...
B1072 开学寄语 (20 分)(简单)
下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!
本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。
输入格式:输入第一行给出两个正整数 N(≤ 1000)和 M(≤ 6),分别是学生人数和需要被查缴的物品种类数。第二行给出 M 个需要被查缴的物品编号,其中编号为 4 位数字。随后 N 行,每行给出一位学生的姓名缩写(由 1-4 个大写英文字母组成)、个人物品数量 K(0 ≤ K ≤ 10)、以及 K 个物品的编号。
输出格式:顺次检查每个学生携带的物品,如果有需要被查缴的物品存在,则按以下格式输出该生的信息和其需要被查缴的物品的信息(注意行末不得有多余空格):
姓名缩写: 物品编号1 物品编号2 ……最后一行输出存在问题的学生的总人数和被查缴物品的总数。
输入样例:4 22333 6666CYLL 3 1234 2345 3456U 4 9966 6666 8888 6666GG 2 233 ...
B1071 小赌怡情 (15 分)(简单)
常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注 t 个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家 t 个筹码;否则扣除玩家 t 个筹码。
注意:玩家下注的筹码数不能超过自己帐户上拥有的筹码数。当玩家输光了全部筹码后,游戏就结束。
输入格式:输入在第一行给出 2 个正整数 T 和 K(≤ 100),分别是系统在初始状态下赠送给玩家的筹码数、以及需要处理的游戏次数。随后 K 行,每行对应一次游戏,顺序给出 4 个数字:
n1 b t n2其中 n1 和 n2 是计算机先后给出的两个[0, 9]内的整数,保证两个数字不相等。b 为 0 表示玩家赌小,为 1 表示玩家赌大。t 表示玩家下注的筹码数,保证在整型范围内。
输出格式:对每一次游戏,根据下列情况对应输出(其中 t 是玩家下注量,x 是玩家当前持有的筹码量):
玩家赢,输出 Win t! Total = x.;玩家输,输出 Lose t. Total = x.;玩家下注超过持有的筹码量,输出 Not enough tokens. Tot ...