北医/北大计算概论课程编程网格【作业题】整理汇总,C语言/C++/Python

北大编程网格【作业题】题目答案整理

一些作业题的汇总,持续更新中。
有需要的小伙伴可以留言或者私信我。
下面列举的题都成功编译通过的,一共如下的61个题目的答案(53页),都是成功编译通过的,质量很高。

目录

作业1

Hello World

题目描述:欢迎进入C语言的世界!
虽然C语言是不是万能的,但是不会C语言是万万不能的。
希望大家通过本课程的学习,学会用C语言,喜欢上C语言!
像生活中一样,当我们进入了一个新的世界,就要用属于这个世界的语言问声“你好”。
你的任务:完成自己的第一个小程序 “Hello World”。

关于输入:无

关于输出:输出为一行,输出字符串“Hello World”

提示信息:注意大小写,不要加标点符号!

基础读写

题目描述:读入一个整数n,然后将它打印出来

关于输入:一个整数n(0<=n<=10000)

关于输出:输出仅有一行,为整数n

A+B 问题

题目描述:计算a+b的值

关于输入:输入两个整数a和b(0<=a,b<=10000)。

关于输出:输出一个整数,即a+b的值。

计算(a+b)*c的值

题目描述:计算表达式(a+b)*c的值,其中a, b, c均为整数,且a,b,c的值介于-10000和10000之间(不含-10000和10000)

关于输入:输入仅一行,包括三个整数a, b和c

关于输出:输出也是一行,即表达式的值

作业2

与圆相关的计算

题目描述:读取圆的半径(实数),求圆的直径、周长和面积(保留4位小数)。

关于输入:输入半径r,是双精度浮点数。

关于输出:输出的值也是双精度浮点数,保留小数点后4位。

计算(a+b)/c的值

题目描述:输入整数a,b,c, 输出(a+ b)/c的值,当c==0时输出error。

关于输入:一行,3个数,即a b c

关于输出:一行,结果

计算分数的浮点数值

题目描述:两个整数a和b分别作为分子和分母,既分数 a/b ,求它的浮点数值(双精度浮点数,保留小数点后9位)

关于输入:输入仅一行,包括两个整数a和b

关于输出:输出也仅一行,分数 a/b 的浮点数值(双精度浮点数,保留小数点后9位)

用边长求三角形面积

题目描述:写程序由标准输入得到三个数,作为三角形的三边长,计算三角形的面积。注意在程序里检查输入数据,对不能构成三角形的情况给出错误信息。

关于输入:输入只有一行,包含用空格分开的三个浮点数,分别表示三角形三边的边长。

关于输出:对于可以构成三角形的情况,输出三角形的面积,保留4位小数。对于不能构成三角形的情况,提示“Data Error”。

苹果大战虫子

题目描述:你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?

关于输入:输入仅一行,包括n,x和y(均为整数)。

关于输出:输出也仅一行,剩下的苹果个数

甲流疫情死亡率

题目描述:甲流并不可怕,在中国,它的死亡率并不是很高。请根据截止2009年12月22日各省报告的甲流确诊数和死亡数,计算甲流在各省的死亡率。

关于输入:输入仅一行,有两个整数,第一个为确诊数,第二个为死亡数。

关于输出:输出仅一行,甲流死亡率,以百分数形式输出,精确到小数点后3位。

温度表达转化

题目描述:已知华氏气温F,请利用公式 C = 5 * (F-32) / 9 (其中C表示摄氏温度,F表示华氏温度) 计算它对应的摄氏温度C。

关于输入:一个整数n,表示下面一共有n个输入;下面接n行,每行一个实数F,表示华氏温度;

关于输出:输出共n行,每行一个实数C,其值为F对应的摄氏温度,要求精确到小数点后5位。

作业3

计算邮资

题目描述
计算邮资:
用户输入:邮件的重量,以及是否加快
计算规则:重量在1克以内(包括1克), 基本费0.8元。超过1克的部分,按照0.5元/克的比例加收超重费。
如果用户选择加快,多收2元。

关于输入
重量 double weight
是否加快 char exp(可以取’y’ or ‘n’)

关于输出
邮资
(注:只需要输出数字,不需要加单位。例如1.3元,只需要输出1.3)

点和正方形的关系

题目描述
有一个正方形,四个角的坐标(x,y)分别是(1,-1),(1,1),(-1,1),(-1,-1),x是横轴,y是纵轴。写一个程序,判断一个给定的点是否在这个正方形内。

关于输入
输入坐标x,y

关于输出
点在正方形内,输出yes;点在正方形外,输出no

年龄与疾病

题目描述
某医院想统计一下某项疾病的获得与否与年龄是否有关,需要对以前的诊断记录进行整理。

关于输入
共2行,第一行为过往病人的数目n(0 < n <= 100),第二行为每个病人患病时的年龄。

关于输出
每个年龄段(分四段:18以下,19-35,36-60,60以上)的患病人数占总患病人数的比例,以百分比的形式输出,精确到小数点后两位(double)。

奇数求和

题目描述
计算非负整数 m 到 n(包括m 和 n )之间的所有奇数的和,其中,m 不大于 n,且n 不大于300。例如 m=3, n=12, 其和则为:3+5+7+9+11=35

关于输入
两个数 m 和 n,两个数以空格间隔,其中 0 <= m <= n <= 300 。

关于输出
奇数之和

自由下落的球

题目描述
一球从h米的高度自由落下,每次落地后又反跳回原高度的一半,再落下。求它在第n次落地时,共经过多少米,第n次反弹多高。

关于输入
高度h(双精度浮点数),落地次数n(大于0整数)。

关于输出
输出它在第n次落地时,共经过的米数s 和第n次反弹的高度h。(精确到小数点后四位)

统计满足条件的4位数个数

题目描述
编写程序,读入若干个四位数(小于30),求出其中满足以下条件的数的个数:个位数上的数字减去千位数上的数字,再减去百位数上的数字, 再减去十位数上的数字的结果大于零。

关于输入
输入为两行,第一行为四位数的个数,第二行为要读入的四位数

关于输出
输出为一行,即满足条件的四位数的个数

作业4

数组逆序

题目描述
将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。

关于输入
输入为两行:第一行数组中元素的个数n(1 < n < 100),第二行是n个整数,每两个整数之间用空格分隔。

关于输出
输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。

学分绩点

题目描述
北京大学对本科生的成绩施行平均学分绩点制(GPA)。将学生的实际考分根据不同的学科的不同学分按一定的公式进行计算。
曾经使用的规定如下:
实际成绩 绩点
90-100 4.0
85-89 3.7
82-84 3.3
78-81 3.0
75-77 2.7
72-74 2.3
68-71 2.0
64-67 1.5
60-63 1.0
60以下 0
1.一门课程的学分绩点=该课绩点*该课学分
2.总评绩点=所有学科绩点之和/所有课程学分之和
现要求你编写程序求出某人A的总评绩点(GPA)。

关于输入
第一行 总的课程数n(n<10);
第二行 相应课程的学分(两个学分间用空格隔开);
第三行 对应课程的实际得分;
此处输入的所有数字均为整数。

关于输出
输出有一行,总评绩点,精确到小数点后2位小数。(printf(“%.2f”,GPA);)

数值统计分析

题目描述
统计一个数组中正数和负数分别的个数及所有元素值的总和,并找到绝对值最大和最小的两个元素。

关于输入
输入数组元素个数n(n<=100)
输入n个整数

关于输出
依次输出数组中正、负数个数,数组总和,绝对值最大、最小的元素。

约瑟夫问题

题目描述
约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。

关于输入
每行是用空格分开的两个整数,第一个是 n, 第二个是 m ( 0 < m,n <=300)。最后一行是:
0 0

关于输出
对于每行输入数据(最后一行除外),输出数据也是一行,即最后猴王的编号

实现冒泡排序

题目描述
请根据自己的理解编写冒泡排序算法,数组大小1000以内

关于输入
第一行是n,表示数组的大小
接着n行是数组的n个元素

关于输出
排序之后的结果
一个元素一行

输出前k大的数

题目描述
给定一个数组,数组长度小于1000,统计前k大的数并且把这k个数从大到小输出。

关于输入
先输入一个n表示数组的长度,然后连续地输入n个数。最后输入一个k。

关于输出
换行输出前k大的数

奇数单增序列

题目描述
给定一个长度为N(不大于500)的正整数序列,请将其中的所有奇数取出,并按增序输出。

关于输入
共2行
第1行为 N
第2行为 N 个正整数,其间用空格间隔。

关于输出
增序输出的奇数序列,数据之间以逗号间隔。

区间合并

题目描述
给定 n 个闭区间 [ai; bi],其中i=1,2,…,n。 这些区间可以用一组不间断的闭区间表示。我们的任务是找出这些区间是否可以用一个不间断的闭区间表示,如果可以的话将这个最小的闭区间输出,否则输出no。

关于输入
第一行为一个整数n,3 ≤ n ≤ 50000。表示输入区间的数量。在第i+1行上(1 ≤ i ≤ n),为两个整数 ai 和 bi ,整数之间用一个空格分隔,表示区间 [ai; bi](其中 1 ≤ ai ≤ bi ≤ 10000)。

关于输出
输出为一行,如果这些区间可以合并为一个闭区间,输出这个闭区间,否则输出”no”

作业5

矩阵交换行

题目描述
编写一个函数,输入参数是55的二维int型数组,和n,m两个行下标。功能:判断n,m是否在数组范围内,如果不在,则返回0;如果在范围内,则将n行和m行交换,并返回1。
在main函数中, 声明一个5
5的int型矩阵,输入矩阵数据,并输入n,m的值。调用前面的函数。如果返回值为0,输出error。如果返回值为1,输出交换后的新矩阵。

关于输入
5*5矩阵的数据,以及n和m的值。

关于输出
如果不可交换,则输出error; 如果可交换,则输出新矩阵

计算矩阵边缘元素之和

题目描述
输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。

关于输入
第一行为整数k,表示有k组数据。
每组数据有多行组成,表示一个矩阵:
第一行分别为矩阵的行数m和列数n(m<100,n<100),两者之间以空格分隔。
接下来输入的m行数据中,每行包含n个整数,整数之间以空格作为间隔。

关于输出
输出对应矩阵的边缘元素和,一个一行。

矩阵加法

题目描述
方阵阶数为n(n<100),例如当n=3时,矩阵int a[3][3],矩阵int b[3][3]。
矩阵的数据由用户输入。输出新的矩阵c=a+b。
输出格式:
c00 c01 c02
c10 c11 c12
c20 c21 c22
每两个数字之间有1个空格

关于输入
方阵阶数n
矩阵a:
a00 a01 a02
a10 a11 a12
a20 a21 a22
矩阵b:
b00 b01 b02
b10 b11 b12
b20 b21 b22

关于输出
矩阵c:
c00 c01 c02
c10 c11 c12
c20 c21 c22

肿瘤面积

题目描述
在一个正方形的灰度图片上,肿瘤是一块矩形的区域,肿瘤的边缘所在的像素点在图片中用0 表示。其它肿瘤内和肿瘤外的点都用255 表示。现在要求你编写一个程序,计算肿瘤内部的像素点的个数(不包括肿瘤边缘上的点)。已知肿瘤的边缘平行于图像的边缘。

关于输入
只有一个测试样例。第一行有一个整数n,表示正方形图像的边长。其后n 行每行有n 个整数,取值为0 或255。整数之间用一个空格隔开。已知n 不大于1000。

关于输出
输出一行,该行包含一个整数,为要求的肿瘤内的像素点的个数。

流感传染

题目描述
有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着。在第一天,有些房间里的人得了流感,以后每天,得流感的人会使其邻居传染上流感,(已经得病的不变),空房间不会传染。请输出第m天得流感的人数。

关于输入
第一行一个数字n,n不超过100,表示有n*n的宿舍房间。
接下来的n行,每行n个字符,’.’表示第一天该房间住着健康的人,’#’表示该房间空着,’@’表示第一天该房间住着得流感的人。
接下来的一行是一个整数m,m不超过100.

关于输出
输出第m天,得流感的人数

作业6

统计数字字符个数

题目描述
输入一行字符,统计出其中数字字符的个数。

关于输入
一行字符串,总长度不超过255。

关于输出
输出为1行,输出字符串里面数字字符的个数。

配对碱基链

题目描述
脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成。而构成DNA的碱基共有4种,分别为腺瞟呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)。我们知道,在两条互补碱基链的对应位置上,腺瞟呤总是和胸腺嘧啶配对,鸟嘌呤总是和胞嘧啶配对。你的任务就是根据一条单链上的碱基序列,给出对应的互补链上的碱基序列。

关于输入
第一行是一个正整数n,表明共有n条要求解的碱基链。
以下共有n行,每行用一个字符串表示一条碱基链。这个字符串只含有大写字母A、T、G、C,分别表示腺瞟呤、胸腺嘧啶、鸟嘌呤和胞嘧啶。每条碱基链的长度都不超过255。

关于输出
共有n行,每行为一个只含有大写字母A、T、G、C的字符串。分别为与输入的各碱基链互补的碱基链。

判断字符串是否为回文

题目描述
编程,输入一个字符串,输出该字符串是否回文。

关于输入
输入为一行字符串(字符串中没有空白字符,字符串长度不超过100)。

关于输出
如果字符串是回文,输出yes;否则,输出no。

基因相关性

题目描述
为了获知基因序列在功能和结构上的相似性,经常需要将几条不同序列的DNA进行比对,以此来判断该比对的DNA是否具有相关性。现假设比对两条长度相同的DNA序列,当其中对应位上的相同碱基的比率大于某给定值时则断定该两条DNA序列是相关的,否则不相关。

关于输入
有三行,第一行是用来分界出该两条DNA序列是否相关的比率,随后2行是两条DNA序列(长度不大于500)。

关于输出
若两条DNA序列相关,则输出“yes”;若不相关,则输出“no”;若输入的序列中有A、T、C、G以外的字母出现时或两条序列长度不相等时,则输出“error”。

过滤多余的空格

题目描述
一个句子的每个单词之间也许有多个空格,过滤掉多余的空格,只留下一个空格

关于输入
一个字符串,句子的头和尾都没有空格,字符串不为空且长度不超过100。

关于输出
过滤之后的句子

单词的长度

题目描述
输入一行单词序列,相邻单词之间由1个或多个空格间隔,请对应地计算各个单词的长度。
注意,如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分。没有被空格间开的符号串,都算作单词。

关于输入
一行单词序列,不超过1000个字符,最少1个单词,最多300个单词,单词之间用至少1个空格间隔

关于输出
对应单词的长度。之间以逗号间隔

作业7

二进制数逻辑运算

题目描述
本练习测试基本的二进制数逻辑运算。请从标准输入读取一个数,存入一个无符号短整型变量,并用16进制输
出以下运算的结果,每个运算一行
1.输入的数字
2.输入的数字与十进制数32547的按位与运算结果
3.输入的数字与十六进制数AB35的按位或 运算结果
4.输入的数字的按位非与八进制数74120的按位异或 运算结果

关于输入
一个整数

关于输出
4行,每行一个数字,分别对应描述中的4个运算

画图

题目描述
输入n(1<n<20)个自然数,按如下要求画图

关于输入
若干个数,用空格分隔。第一个数n代表自然数的个数,后面接n个自然数输入

关于输出
行,每行k个*符号,K为第k个输入的自然数

七七表

题目描述
类比九九表,输出八进制运算的乘法表

关于输入
无输入

关于输出
输出七七表
7行,每行7组,每组为a*b-c的形式按八进制输出,两组间用空格分隔

显示二进制数

题目描述
不使用bitset等标准库,将输入的无符号短整型数按二进制输出

关于输入
一个短整型数

关于输出
一行,输入数字的16位二进制表示

作业8(2020年期末考试)

计算圆柱体的表面积

题目描述
读取圆柱体的底面半径r和高h,求圆柱体的表面积。

关于输入
输入半径r和高h,均是双精度浮点数

关于输出
输出的值也是双精度浮点数,保留小数点后3位,格式见样例。

最近的食堂

题目描述
A同学刚考完《计算概论》的期终考试,迫不及待地想去食堂大吃一顿。

现在已知学校有n个食堂,以及它们相对A的坐标(x,y),希望你找出离A最近的食堂的距离。

注意:A的坐标视为(0,0)

关于输入
第一行为一个正整数 n(1<=n<=100), 表示食堂的个数。

接下来有 n 行,每行有两个浮点数,分别为每个食堂的 x, y坐标值(-10.0<=x,y<=10.0)。

关于输出
一个浮点数,最近的食堂的距离d;保留小数点后两位数。

斐波那契数列推广

题目描述
考虑斐波那契数列的推广:F(N)=AF(N-1)+BF(N-2),F(0)=K,F(1)=L
其中,A、B、K、L为任意非负整数
现给出A、B、K、L,求该数列第N项的值F(N)。

关于输入
输入为五个数,依次为A、B、K、L、N。

关于输出
输出一个正整数F(N),F(N)保证为一个在int类型范围内的数字。

自守数

题目描述
如果一个数的平方的末尾几位的数字等于该数自身,那么这个数就是自守数。如55=25, 7676=5776,则5和76均为自守数。对于给定的正整数n,判断其是否为自守数。

关于输入
输入为一个正整数 n(1<=n<=10000)。

关于输出
若输入的数为自守数,则输出yes;否则,输出no。

买口罩

题目描述
疫情之初,口罩紧张,有好心人想要采购N个口罩捐送给医院,现在有M个口罩制造商,他们拥有口罩的数量和卖出口罩的价格有所区别,请问好心人最少花多少钱可以买到这N个口罩?

关于输入
第一行为想要采购的数量N和制造商的数量M
后面M行,每行两个数,第一个数为该制造商产的口罩的价格,第二个数为该制造商拥有的口罩的数量

关于输出
好心人买到N个口罩需要的最少花费

小迪游园记之找不同

题目描述
小迪周末去逛游乐园,遇见了一个名为“找不同”的游戏摊位。该摊位中有a、b两张卡片,每张卡片上包含有一段字符串。卡片上的字符串只包含小写字母,且b卡片上的字符串由a卡片上的字符串中字母随机重排,然后在一个随机选择的位置上添加一个字母。你能帮助小迪,找到b卡片上被添加的那个字母吗?

关于输入
输入为两行,其中第一行为a卡片上的字符串(不为空),第二行为b卡片上的字符串。字符串中只包含小写字母。每个字符串最多包含20个字符。

关于输出
输出为一行,为b卡片上被添加的字符。

编码字符串

题目描述
在数据压缩中,一个常用的方法是行程长度编码压缩。对于一个待压缩的字符串,我们可以依次记录每个字符及重复的次数。例如,待压缩的字符串为”aaabbbbcbb”,压缩结果为(a,3)(b,4)(c,1)(b,2)。这种压缩对于相邻数据重复较多的情况有效,如果重复状况较少,则压缩的效率较低。
现要求根据输入的字符串,首先将字符串中所有大写字母转化为小写字母,然后将字符串进行压缩。

关于输入
一个字符串,长度大于0,且不超过1000,全部由大写或小写字母组成。

关于输出
输出为编码之后的字符串,形式为:(a,3)(b,4)(c,1)(d,2),即每对括号内分别为小写字符及重复的次数,不含任何空格。

特殊的数

题目描述
如果一个数从高位开始,奇数位为奇数,偶数位为偶数,则称该数为一个特殊的数,如5,14,121,1234等
给定一个闭区间[L, R],返回区间内特殊数的数目

关于输入
第一行为输入的数量t(1<=t<=100),
后续t行,每行给出L, R两个正整数

关于输出
输出t行,每行输出一个整数,表示区间内特殊的数的数量

卷怪竟在我身边

题目描述
小明所在的PXU大学有这样一个传统:平均绩点第一的同学将得到卷怪的称号。小明拿到了全年级同学的成绩单,他希望找出其中谁是卷怪。

PXU大学课程绩点的计算方式如下:
A. 若一门课的考试成绩X属于区间[60分, 100分],则该门课的绩点计算公式为:4-3*(10-X/10.0)^2.5/32;(可以看到,100分绩点为 4.00,60分绩点为 1.00)
B. 若一门课的考试成绩X小于60分,则该门课的绩点为0;
C. 一名同学的平均学分绩点(GPA)= 该学生所学课程学分乘绩点之和÷所学课程学分之和。

关于输入
第一行为一个整数n,随后n行每行两个整数,分别代表一门课的课号和学分。
之后一行是一个整数m,代表这个年级有m个学生。
随后有m组数据,每一组第一行为两个整数k、t,代表这个学生一共选了k门课,学号为t;接下来k行,每行两个整数,代表该学生所选课的课号与成绩。输入数据保证课号的合法性。
1≤n≤10000,1≤m≤1000,1≤k≤20,课号和学号是介于0和1000000之间的互不相等的整数。

关于输出
卷怪的学号。若有多个同学绩点同时最高,则从小到大依次输出他们的学号,之间用一个空格分隔。

生命游戏

题目描述
英国数学家约翰·何顿·康威(John Horton Conway)教授在 1970 年设计了一个叫做“生命游戏”的计算机程序。生命游戏规则非常简单,但却可以演变出丰富多彩的群体行为。非常遗憾,康威教授于2020年4月因新冠疾病逝世;也许,生命就是这样,变幻无常。

给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态:1 即为活细胞(live),或 0 即为死细胞(dead)。每个细胞与其八个相邻位置(水平,垂直,对角线)的细胞都遵循以下四条生存定律:
1.如果活细胞周围八个位置的活细胞数少于两个,则该位置活细胞死亡;
2.如果活细胞周围八个位置有两个或三个活细胞,则该位置活细胞仍然存活;
3.如果活细胞周围八个位置有超过三个活细胞,则该位置活细胞死亡;
4.如果死细胞周围正好有三个活细胞,则该位置死细胞复活;

根据当前状态,写一个函数来计算面板上所有细胞的下一个(一次更新后的)状态。下一个状态是通过将上述规则同时应用于当前状态下的每个细胞所形成的。

关于输入
输入第一行表示面板尺寸,m代表行数,n代表列数
之后输入的是每个格子的细胞生死状态。

关于输出
输出为面板中细胞在下一刻的状态

合理消费

题目描述
计算概论期终考试结束后,同学B感觉自己得到了解脱。回想起复习期间的艰苦岁月,B决定去某新开的食堂大吃一顿。
B同学希望今天把饭卡的钱全部花完,以抚慰自己受伤的心灵。
已知B的饭卡里有钱p元,给定食堂物品的价格列表(价格不重复),请你给出所有可能的恰好把p元花掉的购买选择。
如:p=7, 食堂现有价格为 [3,2,6,7] 的物品,则可能的购买选择有:
[3, 2, 2]
[7]
每种价格的物品可以多次选购。

关于输入
n+1行
第1行有两个整数,分别为物品种类n, 以及B卡里多少钱p。
接下来有n行,每行一个数,为每种物品的价格xi。
满足:3<= n <= 10;2<= p <= 200;2<= xi <=100。

关于输出
所有可能的购买选择,每种选择一行,要求不重复。
对于每一种选择,价格的顺序要求按照输入顺序。
每种物品可以多次选购无限制。
如果没有恰好花掉的选择,则输出”NO”。

作业9(2013年期末考试)

王奶奶的医药费

题目描述
王奶奶去医院看病,挂了号,进行了几次检查,还拿了药。现在需要你帮王奶奶统计一下一共花了多少钱。

关于输入
第一行为一个整数n,代表缴纳金额的次数
第二行为n个浮点数,用空格隔开,代表每个项目缴纳的金额

关于输出
输出为1行,输出总共花费金额(保留小数点后两位)。

程序员的健康生活

题目描述:据“世界关爱程序猿联合会”建议,一个健康的程序员的生活习惯内容如下:
(1)每天睡眠时间不少于7小时且不超过8小时;
(2)每天至少喝1500毫升的水,不要等到口渴了才开始补水;
(3)每天参加适量运动。
只要做到了以上3点,当天的生活就能算是健康的了。请你帮忙完成判断程序员小张的生活是否健康的程序。

关于输入
第一行包含一个整数n,为总的测试组数。
接下来为n组数据,每组数据包括3行:
第1行为一个浮点数t,表示小张当天的睡眠时间,0 =< t <=24。
第2行为一个整数x,表示小张一天喝了x毫升的水。0 < x < 1000000。
第3行为”Yes”或者“No”(不包括引号),表示小张今天是否参加了适量的运动。

关于输出
对于每组数据,输出”Yes”或者”No”(不包括引号),表示小张当天的生活是否健康。

遗传物质中生物密码

题目描述
嫦娥n号从月球的背面带回了一块陨石,科学家从陨石中提取出了远古细菌的遗传物质,并发现遗传物质中只有特定位的信息是有效的,其中有一类满足二次函数:即所提取的有效信息中的第x位在遗传物质中的实际位置需要代入二次函数中计算得出。
例如发现的遗传物质信息为“AGCTCGCGAGCGCCTTAAGGGCCTGCCGGCAT”。假设所提取的有效信息长度为2,其每一位出现在原始遗传物质中的位置由二次函数“y = x2 + 2x + 1”计算,即出现位置分别为4(将1代入二次函数求得的值)和9(将2代入二次函数求得的值),于是所提取的有效信息为“TA”。如果所提取的有效信息长度为k,则分别将1,2,…,k代入二次函数中,即可获得有效信息的每一位在原始遗传物质中的位置。

关于输入
输入共3行:
第一行为3个整数,用空格隔开,分别代表二次函数的3个系数,如 y = ax2 + bx + c 对应的3个系数为:a b c。注意,系数a, b, c的值可能为0。
第二行为一个字符串,代表处理前的遗传物质信息(其长度n ≤ 1000)。
第三行为一个整数,所提取的这类有效信息的长度。

关于输出
输出给定长度的有效遗传信息。

迷信的吴医生和机智的护士

题目描述
吴医生是个很迷信的医生,他认为与4相关的数字都会带来厄运,因此他拒绝为所有挂号单序号中有数字4,或序号能被4整除的病人看病。(每张挂号单有一个唯的序号)
小李是一名年轻的护士,虽然对吴医生的怪癖好不能理解,但他是内科最权威的医生, 小李无法阻止他的我行素。为了能让每个病人都顺利的看上病,小李决定只给病人们不含有数字4,并且不被4整除的序号挂单。
今天门诊部刚开门,就来了n位病人都要挂吴医生的专家门诊(n为正整数,且 n<50),请问小李能开给这n位病人的挂号单的序号总和最小是多少?

关于输入
输入为一行,正整数n,n<50

关于输出
输出为一行,输出最小的序号总和

尊老爱幼

题目描述
4号病房一共住着 n 位病人(n是正整数,且n<100),他们的年纪都在 1~99 之间 ,且任何两人都不同岁。
今天他们都要进行体检,但同时只能有一个病人接受检查??前一个病人全部检查完了,下一个病人才能开始体检。
这 n 位病人都特别尊崇老爱幼的传统美德,决定让最老的病人第一个检查,最年轻的病人第二个检查, 接着是第二老的病人 、第二年轻的病人,第三老的病人……以此类推。
病人们将排序的任务交给了你,他们会告诉你他们各自的年龄,请计算出体检的顺序(顺序的输出年龄即可)

关于输入
输入为两行
第一行为一个正整数n,n<100
第二行是n个正整数,均≤99

关于输出
输出为n行,n个正整数

判断三角形类型

题目描述
给定三角形的三条边:a, b, c。判断该三角形类型。

关于输入
第一行是测试数据个数n(n < 1000),
随后n行每一行有3个正整数(数值不超过20000),分别为三角形的三条边的边长。

关于输出
对于每组输入,判断三角形类型。输出“dyzj”表示等腰直角三角形、“ptzj”表示普通直角三角形;“db”等边三角形、“dyrj”等腰锐角三角形、“ptrj”普通锐角三角形;“dydj”等腰钝角三角形、“ptdj”普通钝角三角形;“bssjx”不能组成三角形。

特殊的年份

题目描述
韶华易逝,光阴苒冉。当你看到此题的时候,2013年已经离你远去。2013年是个特殊的年份你知道么?它是1987年以后第一个年份各个数字位互不相等的年份。现在知道也不晚,因为2014年也是一个特殊年份,珍惜接下来的特殊年份吧,好好学习,天天刷题。
小明知道了2014年是特殊年份,很好奇还有哪些年份是特殊年份(各数字位互不相等)。然后,他拿出了一张纸,开始在纸上从2014写起,他想就这么每个年份数下去。作为学过计算概论的你,实在看不惯这种浪费体力、浪费纸张、一点也不环保的作风,于是你决定写程序帮帮他。

关于输入
第一行为总测试数量n。( 0 < n < 10000 )
接下来的n行,每行有一个整数m,代表年份。( 1000 <= m <= 9000)

关于输出
对于每个年份m,输出一个整数y。y是大于m的最小的特殊年份(各数字位互不相等)。
输入的限制保证了 1000 < y < 9999。

最好特效药

题目描述
上周天天因为感冒去了次北大校医院,医生诊断了下他的症状,认为应给他止咳退烧。医生考虑了M种退烧药、N种止咳药,任意选择一种总共有M*N种组合,考虑到期末临近,天天希望选择最快治愈的药物组合。

关于输入
一行输入M, N分别代表M种退烧药与N种止咳药。
接下来M行N列的数字k表示对应的药物组合能在k天内治愈天天。
k的范围是[1,30],M和N的范围是[1,20],M和N可能不同.

关于输出
能最快治愈天天的药物组合编号,如见效天数相同,先按m从小到大输出,若m相同,则按n从小到大输出。

2013年诺贝尔生理学奖中的基因模式识别

题目描述
诺贝尔奖官方网站发布消息,将2013年诺贝尔生理学或医学奖授予美国科学家詹姆斯-E. 罗斯曼和兰迪- W. 谢克曼、德国科学家托马斯- C. 苏德霍夫,以表彰他们发现细胞内部囊泡运输调控机制。这三位科学家的研究成果解答了细胞如何组织其内部最重要的运输系统之一囊泡传输系统的奥秘。他们发现了能控制细胞传输系统不同方面的三类基因,从基因层面上为了解细胞中囊泡运输的严格管理机制提供了新线索。
为了能够了解更多的机制,下面需要同学来帮助三位诺奖得主分析控制囊泡传输系统的基因序列,当某条碱基链上连续为13个或以上胸腺嘧啶(T)的碱基序列Pattern时,即有可能跟囊泡传输有关。
构成DNA的碱基共有4种,分别为腺瞟呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)。我们知道,在两条互补碱基链的对应位置上,腺瞟呤总是和胸腺嘧啶配对,鸟嘌呤总是和胞嘧啶配对。你的任务就是根据一条单链上的碱基序列,判断此段碱基序列或其配对碱基序列上,是否存在跟囊泡传输有关的Pattern(即是否存在连续为13个或以上胸腺嘧啶(T)的碱基子序列)。

关于输入
第一行是一个正整数n,表明共有n条待分析的碱基链。
以下共有n行,每行用一个字符串表示一条碱基链。这个字符串只含有大写字母A、T、G、C,分别表示腺瞟呤、胸腺嘧啶、鸟嘌呤和胞嘧啶。每条碱基链的长度都不超过255。

关于输出
共有n行,当此段碱基序列或其配对碱基序列上,存在跟囊泡传输有关的Pattern时,输出“Yes”,否则输出“No”。

拔牙

题目描述
浩助教当了一学期的口腔二班助教,有一天,他突然对各种动物的牙齿颗数产生了兴趣,经过查阅资料,他发现,一般成人有32颗牙齿,狗有42颗牙齿,鳄鱼有66颗牙齿,蜗牛据说有25600颗牙齿。
OK,假设你是一名优秀的牙医,目标是将某种动物所有的n颗牙齿全部拔掉,考虑到患者的感受,每个月只能拔掉1颗或者2颗牙齿,直到拔完为止,你的任务是写一个程序,求一共有多少种不同的拔牙方式。
例如有3颗牙齿,你可以选择第一个月拔掉1颗,第二个月拔掉2颗,也可以选择第一个月拔掉2颗,第二个月拔掉1颗,也可以选择三个月每个月拔1颗。这样一共有3种拔牙方式。

关于输入
输入只有一行,表示牙齿的颗数n(0 < n < 30)。

关于输出
输出所有可能的拔牙方式的种类数。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(1)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年11月23日
下一篇 2023年11月23日

相关推荐