一、实操题
1、比大小
题目描述:
给出两个不同的整数,输出两个整数中较大的那个。
输入描述:
输入两个不同的整数(-1000<整数<1000),两个整数之间以一个空格隔开。
输出描述:
将两个整数中较大的那个输出。
样例输入:
1 3
样例输出:
3
参考答案:对于输入的两个整数,我们需要比较它们的大小,然后输出较大的那个。
解析:【喵呜刷题小喵解析】:
这个题目要求我们比较两个整数的大小,然后输出较大的那个。这是一个简单的比较操作,可以使用编程语言中的比较运算符来实现。在输入中,两个整数之间用一个空格隔开,我们可以使用空格作为分隔符来读取两个整数。然后,我们可以使用比较运算符来比较两个整数的大小,最后输出较大的那个。
例如,在Python中,我们可以使用内置的`max()`函数来比较两个整数的大小,并输出较大的那个。具体实现如下:
```python
a, b = map(int, input().split())
print(max(a, b))
```
在这个实现中,`input().split()`函数用于读取输入的两个整数,`map(int, ...)`函数用于将输入的字符串转换为整数类型,`max(a, b)`函数用于比较两个整数的大小,并输出较大的那个。
2、字符串逆序
题目描述:
给出一个字符串,然后将字符串逆序输出。
输入描述:
输入一个只包含数字及字母的字符串(2<字符串长度<100)。
输出描述:
将字符串逆序输出
样例输入:
abc
样例输出:
cba
参考答案:给定字符串为"abc",逆序输出为"cba"。
解析:【喵呜刷题小喵解析】:
根据题目要求,我们需要将输入的字符串逆序输出。对于字符串"abc",其逆序输出应为"cba"。这个问题可以通过多种方法解决,例如使用栈(先进后出)的特性,或者使用双指针法(从字符串的两端向中间遍历)。在这个例子中,我们简单地使用了双指针法,从字符串的两端向中间遍历,交换字符,最终得到逆序的字符串。
3、近似值
题目描述:
给出一个包含十个正整数的数组和一个正整数(目标值),从数组中找出两个数,使这两个数相加后的和,小于等于目标值并且离目标值最接近。
然后将两个数的和输出。
如:正整数数组为【9,4,3,8,8,9,11,9,8,5】,目标值为10,其中数组中4和3、4和5、3和5的和都小于目标值10,但和离目标值最接近的两个数是4和5,其和为9。
输入描述:
第一行输入10个正整数(正整数<10000),表示正整数数组中的10个元素,元素之间一个空格隔开。
第二行输入一个正整数n(1<n<19997),表示目标值。
输出描述:
输出一个整数。如果数组中存在小于等于目标值并且离目标值最接近的两个数,则输出这两个数的和;如果数组中不存在这样的两个数,即数组中任意两个数的和都超过了目标值,则输出-1。
样例输入:
9 4 3 8 8 9 11 9 8 5 10
样例输出:
9
参考答案:输入的正整数数组为:9 4 3 8 8 9 11 9 8 5目标值为:10最接近目标值且和小于等于目标值的两个数为:4和5它们的和为:9
解析:【喵呜刷题小喵解析】:
题目要求从给定的正整数数组中找到两个数,使它们的和不超过目标值且最接近目标值。首先,我们需要遍历数组中的每一对数,计算它们的和,并与目标值进行比较。如果和小于目标值,我们记录下这两个数,并更新最接近的和。如果所有对数的和都大于目标值,那么输出-1。
在这个例子中,数组为[9, 4, 3, 8, 8, 9, 11, 9, 8, 5],目标值为10。我们遍历数组中的每一对数,计算它们的和,并与目标值10进行比较。当计算到4和5时,它们的和为9,这是小于目标值10且最接近10的两个数的和。因此,输出这两个数的和9。
4、分配
题目描述:
疫情期间,社会爱心人士及单位组织为疫情捐赠了大量物资。其中有n箱口罩物资需要小蓝为2个疫情重灾区分配。每箱口罩的数量也不完全相等,且只能整箱分配。为了公平,尽量使2个疫情重灾区分得的口罩数量相等,也就是2个疫情区分得的口罩数量差值最小。
例如:n为3,3箱口罩数量分别为200、300、110,按照要求分配,2个疫情区分得的口罩数量分别为310(200+110)和300。
这时小蓝犯愁了,不知道如何才能使2个疫情重灾区分得的口罩数量尽量接近。请你编写程序帮助小蓝解决这个问题。
输入描述:
第一行输入一个正整数n(n≤10),表示有n箱口罩。
第二行输入n个不完全相等的正整数(100≤每个正整数≤1000),表示每箱口罩的数量。正整数之间以一个空格隔开。
输出描述:
输出两个正整数,分别表示2个重灾区分得口罩的数量,两个正整数之间一个空格隔开,且如果两个正整数不相同,需按照从大到小输出。
样例输入:
3 200 300 110
样例输出:
310 300
参考答案:br />310 300
解析:【喵呜刷题小喵解析】
首先,我们需要理解题目的要求。题目要求将n箱口罩分配给两个疫情重灾区,使得两个重灾区得到的口罩数量尽量接近。
为了解决这个问题,我们可以采用贪心算法。具体步骤如下:
1. 首先,将n箱口罩按照口罩数量的多少进行排序。
2. 然后,从口罩数量最多的箱子开始,依次将口罩分配给两个重灾区。每次分配时,将口罩数量最多的箱子中的口罩平均分配给两个重灾区,直到该箱子的口罩数量为零或者无法再平均分配为止。
3. 重复步骤2,直到所有的口罩都被分配完毕。
在这个问题中,我们不需要考虑其他复杂的算法,因为贪心算法已经足够解决这个问题。
对于样例输入,我们有3箱口罩,数量分别为200、300、110。按照口罩数量的多少进行排序后,我们得到300、200、110。然后,我们将300平均分配给两个重灾区,得到每个重灾区150个口罩。接着,我们将200平均分配给两个重灾区,得到每个重灾区100个口罩。最后,我们将110平均分配给两个重灾区,得到每个重灾区55个口罩。因此,两个重灾区得到的口罩数量分别为310和300。
5、组合
题目描述:
某校庆祝元旦,要求某班级选出n位男生和n位女生参加节目。由于节目需要,男女同学需要按照以下要求两两组合参加。
要求:
1.每组组合需为一位男生和一位女生;
2.一般情况,要求每组组合中男生身高大于等于女生身高;
3.特殊情况,可以出现女生身高大于男生身高的组合,但需要限定最多组合数。
在给出男生和女生数量n,和限定最多组合数k(1<n<10,0≤k<n),及所有男女生学身高后,按照组合要求共有多少种组合方案。
如:n为3(表示有3位男生和3位女生参加节目),k为0(表示组合中女生身高大于男生身高的组合情况最多出现0组),3位男生身高分别为165、175、163,3位女生身高分别为155、165、157。共有4种组合方案:
输入描述:
第一行输入两个整数n和k(1<n<10,0≤k<n),n表示有n位男生和n位女生参加节目,k表示可以出现女生身高大于男生身高的最多组合数。
第二行输入n个正整数(130<正整数<200),表示n位男同学的身高,正整数之间一个空格隔开。
第三行输入n个正整数(130<正整数<200),表示n位女同学的身高,正整数之间一个空格隔开。
输出描述:
输出一个整数,如果有满足要求的组合方案输出组合方案数,如果没有满足要求的组合方案输出0。
样例输入:
3 0 165 175 163 155 165 157
样例输出:
4
参考答案:对于输入n和k,以及男生和女生的身高,我们需要按照题目要求,计算满足条件的组合方案数。首先,我们需要对男生和女生的身高进行排序,以便后续处理。然后,我们遍历每个男生,对于每个男生,我们找到身高大于或等于该男生的女生,并将它们加入组合中。在遍历过程中,我们需要考虑k的限制。如果当前组合中女生身高大于男生身高的组合数已经超过了k,那么我们就跳过这个男生,继续遍历下一个男生。最后,我们统计所有满足条件的组合数,输出结果。
解析:【喵呜刷题小喵解析】:
本题是一道组合问题,需要根据题目要求,按照特定的规则计算组合方案数。
首先,我们需要对男生和女生的身高进行排序,这是为了方便后续处理。
然后,我们遍历每个男生,对于每个男生,我们找到身高大于或等于该男生的女生,并将它们加入组合中。这是根据题目要求,每组组合需要为一位男生和一位女生,且男生身高大于等于女生身高。
在遍历过程中,我们需要考虑k的限制。这是根据题目要求的特殊情况,可以出现女生身高大于男生身高的组合,但需要限定最多组合数。
最后,我们统计所有满足条件的组合数,输出结果。这是根据题目要求,输出一个整数,如果有满足要求的组合方案输出组合方案数,如果没有满足要求的组合方案输出0。
需要注意的是,本题中男生的身高和女生的身高都是正整数,且男生的身高大于等于女生的身高,这是根据题目要求,男生身高大于等于女生身高。同时,男生的数量和女生的数量相等,这也是根据题目要求,某校庆祝元旦,要求某班级选出n位男生和n位女生参加节目。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!