计算机挑战赛真题——Python赛道

2022年

单选题

1.以下描述中,正确的是( )。
A、Python分支结构使用保留字if、elif和else来实现,每个if后面必须有elif或else
B、for循环也叫遍历循环,可以用来遍历序列类型中元素,默认提取每个元素并执行一次循环体
C、CSV文件只能采用Unicode编码表示字符
D、在程序中使用了异常处理机制,程序将不会再出错

C、CSV文件中的文本可以存储为任何编码方式,只要这种方式能保证文件的读写操作正常进行。例如,在Windows操作系统中,CSV文件可能使用GBK编码,这是一种常用于中文的编码方式。

D、异常处理机制只能处理那些在代码中显式声明或隐式抛出的异常。如果发生了一些未被考虑到的异常情况,程序仍然可能会出现错误。

2.有二维列表ls=[[1,2],[3,4],[5,6],[7,8],[9,0]],则不能得到数字5的选项是( )。
A、ls[2][0]
B、ls[-3][0]
C、ls[2][-2]
D、ls[-3][-1]

3.以下描述中,错误的是( )。
A、使用open()打开文件时,必须要用r或w指定打开方式,不能省略
B、Python函数的返回值使用很灵活,可以没有返回值,可以有一个或多个返回值
C、使用readline()可以从文件中读入一行文本
D、CSV文件每行表示一个一维数据,多行表示二维数据

A、在Python中,使用open()函数打开文件时,确实需要指定一个模式,这个模式告诉Python你想如何使用这个文件。模式可以是以下之一:
‘r’: 以只读方式打开文件。这是默认模式。-----文件需要先存在
‘w’: 打开一个文件只用于写入。如果该文件已存在则将其覆盖。–如果该文件不存在,创建新文件。
‘x’: 创建一个新文件,并打开进行写入。
‘a’: 打开一个文件用于追加。如果该文件已存在,文件指针将在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
‘b’: 以二进制模式打开文件。通常用于非文本文件,如:图片。
‘t’: 以文本模式打开(默认)。
‘+’: 打开一个文件进行更新(可读可写)。

4.有以下代码:

def func1(s,t):
    if t==0:
       return
    print (s[t-1],end='')
    func1(s,t-2)
s = input('Input a string:')
l = len(s)
func1(s,l)

运行时输入“HelloWorld",则输出为( )。
A、drWle
B、HelloWorld
C、dlroWolleH
D、loolH

5.在Python中,以下叙述中正确的是( )
A、用”r"方式打开的文件只能向文件中写数据
B、用“R”的方式也可以打开文件
C、一维数据可以采用特殊符号@分隔方式存储
D、用”r"方式可以打开不存在的文件

A. 用“r”方式打开的文件只能向文件中读数据,而不是写数据。
B. 应该是用“r”的方式打开文件,而不是“R”。
D. 用“r”方式打开文件时,如果文件不存在,Python会抛出 FileNotFoundError异常。

6.下列说法中,不正确的是( )。
A、利用语句t1=(2,)可创建只有一个元素的元组
B、得用语句t1=(2,3)可创建包含两个元素的元组
C、语句t1=tuple(‘hello’)可正确创建元组
D、利用语句t1=(2)可正确创建元组

Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
元组中只包含一个元素时,需要在元素后面添加逗号

t1=(2)
print(t1)
# 2

t2=(2,)
print(t2)
# (2,)
t1=tuple('hello')
print(t1)
# ('h', 'e', 'l', 'l', 'o')

t1=(2,3)
print(t1)
# (2, 3)

7.下列说法中,描述正确的是( )。
A、利用random.uniform(10,20)语句,可生成一个[10,20]之间的随机小数
B、使用列表时,其下标不能是负数
C、函数定义时,其函数体与关键字def必须左对齐
D、通过类可以得到实例属性的值

random.uniform(10,20)可以生成一个10到20之间的随机小数,所以A是正确的。
列表的下标可以是负数,B错误。
函数定义时,函数体不需要和def左对齐,C错误。
通过类可以得到实例的属性值,但是不能直接得到实例属性值,需要通过实例对象才能访问到实例属性值,D错误。

8.运行这个程序时输入217,则输出结果是()。

x = int(input(\'输入一个整数:\'))
x1 = x >> 2
x2 = 3<<2
x3 = x1 & x2
print ("%o %o" % (x, x3)) 

A、217 2
B、217 4
C、331 4
D、331 2

用户输入一个整数,并存储到变量x中。
x >> 2是将x右移两位,等价于将x除以4并取整数部分。
3 << 2是将3左移两位,等价于将3乘以4。
x1 & x2是计算x1和x2的按位与运算。

最后,打印出原始输入的整数x和计算结果x3。
具体到输入217:
x >> 2计算为:217 / 4 = 54,余数为1,所以x >> 2的结果为54。
3 << 2计算为:3 * 4 = 12。
x1 & x2计算为:54 & 12 = 4。
最后打印的结果是:输入的整数217和计算结果4。因此,答案是B、217 4。

9.下列创建子图的命令错误的是( )。
A、plt.subplot(223)
B、 plt.subplot(4,1,2)
C、plt.subplot(1022)
D、plt.subplot(10,2,2)

正确答案是C。’
subplot(m,n,p)———m 表示画布的行数,n 表示画布的列数,p 表示当前绘制的图形在画布上的位置。
subplot函数中的三个参数的含义是:第一个参数表示画布的行数,第二个参数表示画布的列数,第三个参数表示该子图的编号。当第一个和第二个参数均为1时,第三个参数应为1~9之间的整数,且不和其它子图重复。本题中选项A、B、D的三个参数均符合此规定,而选项C中第一个参数是10,与第二个参数2矛盾,故本题选C。

10.有如下定义f = lambda x:x**2,则运行f(f(2))的结果为( )。
A、16
B、4
C、8
D、2

Python lambda(匿名函数)
Python 使用 lambda 来创建匿名函数。
lambda 函数是一种小型、匿名的、内联函数,它可以具有任意数量的参数,但只能有一个表达式。
匿名函数不需要使用 def 关键字定义完整函数。
lambda 函数通常用于编写简单的、单行的函数,通常在需要函数作为参数传递的情况下使用,例如在 map()、filter()、reduce() 等函数中。
lambda 函数特点:
lambda 函数是匿名的,它们没有函数名称,只能通过赋值给变量或作为参数传递给其他函数来使用。
lambda 函数通常只包含一行代码,这使得它们适用于编写简单的函数。

lambda 语法格式:

lambda arguments: expression

lambda是 Python 的关键字,用于定义 lambda 函数。
arguments 是参数列表,可以包含零个或多个参数,但必须在冒号(:)前指定。

expression 是一个表达式,用于计算并返回函数的结果。
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
print(squared) # 输出: [1, 4, 9, 16, 25]

11.以下描述中,错误的是( )。
A、CSV文件可以用Excel打开,所以是二进制文件
B、一维数据可以采用CSV格式存储
C、Python函数可以接收可变数量的参数
D、用“w"方式打开的文件只能向文件写数据,且该文件可以不存在

A选项错误,CSV文件是纯文本文件,可以用Excel打开,但不代表它是二进制文件。CSV文件以逗号分隔,可以用文本编辑器打开查看。因此,A选项是错误的。
B选项正确,一维数据采用CSV格式存储,可以将数据以逗号分隔的形式存储在文本文件中,方便读取和处理。
C选项正确,Python函数可以接收可变数量的参数,这可以通过在函数定义中使用*args或**kwargs来实现。
D选项正确,用“w"方式打开的文件只能向文件写数据,如果文件不存在,Python会创建一个新的文件;如果文件已经存在,Python会覆盖原有的文件内容。

12.以下描述中,不正确的是( )。
A、字典中一个键对应一个值信息
B、字典的长度是不可变的
C、Python列表用中括号[]表示
D、Python列表是包含0个或多个对象引用的有序序列

键必须是唯一的,但值则不必。键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字。

13.语句print(eval(‘+’.join(map(str,range(3,7)))))的输出结果( )。
A、34567
B、18
C、3456
D、25

这个语句的主要操作是先将range(3, 7)转化为一个数字列表[3, 4, 5, 6, 7],然后使用map()函数将每个数字转化为字符串,再用’+'连接这些字符串,最后使用eval()函数将这个由字符串组成的表达式求值。
具体来说,这个表达式实际上是 3 + 4 + 5 + 6 + 7,所以其结果是 25。
因此,正确答案是D、25。
**join()**用于将一个序列(如列表、元组或字符串)中的所有元素连接到一个单独的字符串中。这是通过在每个元素之间插入调用.join()方法的字符串来实现的。
eval() 是一个内置函数,它用于执行一个字符串表达式,并返回表达式的值。

14.在Python类中,能够表示当前类自身,且可利用它来引用类中的成员变量和成员函数的变量是( )。
A、与类同名的变量
B、this
C、me
D、self

15.下面关于Python的说法中,错误的是哪一项( )。
A、Python是一种解释型语言
B、Python是一种交互式语言
C、Python不能嵌入到C++程序中
D、Python没有明确定义指针用法

在这四个选项中,选项C “Python不能嵌入到C++程序中” 是错误的。
Python确实是一种解释型语言,这解释了为什么我们不能像在编译型语言(如C或C++)中那样直接将Python代码编译成机器语言。Python的确也是一种交互式语言,允许程序员直接在解释器中输入和执行代码,这使得Python成为一个很好的教学工具以及快速开发原型或脚本的工具。关于“Python没有明确定义指针用法”,这也是错误的。虽然Python中没有显式的指针概念(如C语言中的指针),但Python的变量实际上是对象的引用,这些对象可以在内存中以指针的形式进行操作。
然而,Python可以嵌入到C++程序中。有多种方法可以实现Python和C++的集成,如使用Python的ctypes库或C++的Python库。这些库提供了在C++中使用Python对象和在Python中使用C++对象的方法。
因此,选项C “Python不能嵌入到C++程序中” 是错误的。

编程题

NAN

2021

单选题

1.关于Python 语言中模块说法错误的是()
A、模块是构造程序的方式;
B、每个Python程序文件都是一个模块;
C、可以使用 import 语句来引入模块;
D、在代码中,一个模块可能会被多次导入。

在Python语言中,模块是一个包含Python代码的文件,它可以被引入到其他Python文件或程序中,以提供特定的功能或定义。选项A、B和C都是关于Python模块的正确描述。然而,选项D是错误的,因为在Python中,一个模块一旦被导入,它就会被完全加载和初始化,之后在同一运行实例中,该模块不会被再次导入。

2.关于Python 语言中模块说法错误的是()
A、模块是构造程序的方式;
B、在执行时,一个模块只会被导入一次;
C、Python程序的文件夹是一个模块包;
D、其它三个说法不都正确。

首先,选项A“模块是构造程序的方式”是正确的,因为模块允许开发者将代码分解成多个文件,提高了代码的可读性和可维护性。选项B“在执行时,一个模块只会被导入一次”也是正确的,Python确实会缓存已导入的模块,防止重复导入。选项C“Python程序的文件夹是一个模块包”也是正确的,一个包含Python文件(和可能的其他资源文件)的文件夹可以被视为一个模块包。

3.以下关于Python语言支持的数值类型说法错误的是( )
A、支持长整型;
B、支持浮点型;
C、长整型也可以使用小写字母"l"进行标识;
D、不支持复数

在Python中,确实支持长整型(long integer),它通常使用大写字母"L"进行标识,但也可以使用小写字母"l"。同时,Python也支持浮点型(floating point),即带有小数部分的数字。然而,Python并不直接支持复数(complex number),复数是由实部和虚部组成的,**形式为a + bi,**其中a和b是实数,i是虚数单位。所以,选项D“不支持复数”是错误的。

4.Python语言中,什么函数用于输出内容到终端()
A、outstream( )
B、printf( )
C、cout( )
D、print( )

在Python语言中,用于输出内容到终端的函数是print()。print()函数可以接受多个参数,并将它们转换为字符串后输出到终端。因此,选项D是正确的。

5.假如有一个变量“example”,如何判断它的类型?
A、sizeof(example)
B、print(*example)
C、count(example)
D、type(example)

6.以下英文单词中,不是Python保留字的是( )
A、finally
B、global
C、graph
D、with

Python保留字是指Python编程语言中,被保留不可用于变量名或函数名的标识符。这些保留字具有特定的语法含义,作为程序开发的基础元素。例如,Python中的保留字包括if、elif、else、for、while、try、except、finally、with等,它们用于控制程序的流程和错误处理。此外,还有定义保留字(如def、class、lambda),值保留字(如True、False、None)和其他保留字(and、or、not、in、is、as、global、nonlocal、yield、del、pass、assert等)。

**with语句:**可以简化代码和管理资源,确保资源的正确关闭和异常处理,提高程序的可靠性和可读性。

raise语句用于引发一个异常

pass是空语句,是为了保证程序结构的完整性,不做任何事情,一般用作占位语句。当你编写程序部分内容还没想好,可用pass语句占位。

yield是生成器的关键词,意思是生产.虽然执行流程仍按函数的流程执行,但每执行到一个yield语句就会中断,并返回一个迭代值,下次执行时从yield的下一个语句继续执行。看起来就好像一个函数在正常执行的过程中被yield中断了数次,每次中断都会通过yield返回当前的迭代值。

7.以下英文单词中,不是Python保留字的是( )
A、raise
B、train
C、yield
D、pass

8.请选出关于Python特性描述正确的( )
①包含大量标准库 ②支持函数的递归调用 ③不需要严格缩进 ④具备跨平台能力
A、①③
B、①③④
C、①②③
D、①②④

正确答案是D、①②④。
Python具有丰富的标准库,支持函数的递归调用,同时也具备跨平台能力。在Python中,缩进是一种强制性的语法要求,因此选项③是不正确的。

9.请选出关于Python特性描述正确的( )
①依赖解释器 ②可以和CPU直接通讯 ③生成的是机器码 ④支持元组、字符串等不可变数据类型
A、①③
B、①④
C、②③
D、②④

正确答案是B、①④。
Python是一种解释型语言,依赖于解释器进行程序执行。同时,**Python支持元组、字符串等不可变数据类型。**虽然Python解释器可以生成机器码,但这是在内部进行的,用户看不到这个过程。另外,Python并不直接和CPU通讯,它通过操作系统进行交互。因此,选项②和③都是不正确的。

10.以下不可以从模块外直接访问的合法Python标识符是()
A、a_123
B、_data12
C、12ab
D、t_value

在Python中,标识符是变量、函数、类等对象的名称
Python的标识符必须以字母(a-z或A-Z)或下划线()开头,后面可以跟着任意个数字(0-9)、字母(a-z或A-Z)或下划线()。
所以,根据这个规则,a_123、_data12和t_value都是合法的Python标识符,**而12ab不符合规则,因为它是数字开头,**且后面跟着的是字母,所以它不可以从模块外直接访问。因此,正确答案是C、12ab。

11.以下关于Python中数据类型说法错误的是( )
A、数字类型是不可更改的对象;
B、不支持complex数据类型;
C、通过在双引号之间包含字符的方式创建字符串;
D、其它三个说法不都正确。

12.以下关于Python中字典数据类型说法错误的是( )
A、字典的每个键值对用冒号分割;
B、字典的键必须是不可变的数据类型;
C、字典的键必须是唯一的,但值则不必;
D、其它三个说法不都正确。

13.以下关于Python中数据类型说法错误的是( )
A、string类型是不可更改的数据类型;
B、list类型是可变数据类型;
C、int类型与任意精度的long整数类型可以直接转化;
D、其它三个说法不都正确。

在Python中,**字符串是不可变的数据类型,这意味着你不能改变一个字符串的值。**所以选项A是正确的。
列表是可变的数据类型,这意味着你可以在列表中添加、删除或更改元素。所以选项B是正确的。
Python中的int类型和long类型可以互相转换。因此,选项C也是正确的。

14.Python语言中,函数接口中的参数传递方式是( )
A、传值
B、传引用
C、传对象引用
D、其它三个说法都不对

15.在Python语言中,获取当前日期时间的方法是( )
A、datetime.datetime.now( )
B、datetime.getvalue()
C、datetime.datavalue()
D、datetime.now()

编程题

1.投石饮水
一只乌鸦看到一个圆柱型瓶里有水,当水面高度距离瓶口小于2cm时,乌鸦才可以喝到水。
乌鸦发现容器边有一堆石子,假定每个石子的体积都是8cm^3。现在已知容器内雨水的高度,请你帮忙求至少需要投入多少小石子,乌鸦才能喝到水。
输入说明:
两个整数,分别表示容器的直径和容器内水面距离瓶口的距离(单位:cm)。取π=3。
输出说明:
一个整数,需要放入的石子数。
输入样例:
10 9
输出样例:
66

d,h=map(int,input().split(' '))
pi=3
v=8
num=0
while h>=2: 
  num+=1
  h-=v/((pi*((d/2)**2))*num)
print(num)

2.学科竞赛
现有六门功课(语文、数学、物理、化学、政治、历史)的成绩,现在需要从中选拔优秀同学参加如下学科竞赛:生物竞赛(B)选拔化学和数学总分最高的同学,信息学竞赛(I)选拔物理和数学总分最高的同学,党史竞赛(H)选拔政治和历史总分最高的同学,现在给出N名同学的各科成绩,请编写程序帮忙选出适合参加相应竞赛的同学。
输入说明:
第一行包括一个整数N和一个字符C,N表示参与选拔的同学人数,C表示选择的竞赛类型。
输出说明:
适合指定竞赛类型的学生学号。如果有多个符合条件的学生,按学号从小到大分行输出学号,每行一个。

输入样例:
8 I
2101001 90 90 85 90 80 80
2101002 95 96 82 90 85 83
2101003 90 95 85 90 80 82
2101004 90 89 90 90 70 80
2102001 90 95 80 90 82 70
2102004 90 90 80 90 77 80
2102002 90 89 80 90 80 83
2102003 90 90 80 90 79 80
输出样例:
2101003

3.集合位置
多个机器人分布在M*N(10≤M,N≤1000)的方格中,每个机器人分布在不同的方格里。规定每个机器人只能向上下左右的相邻方格移动,每移动一个方格需要消耗1个单位能量。
现在要求所有机器人集合,集合点只能是某个机器人初始所在方格。
现在请找一个集合点,使得所有机器人到达该点消耗的总能量最低。
输入说明:
第一行是一个整数K(0<K≤100),表示机器人的总数。
之后K行是每个机器人所在方格的位置,用x,y表示,以空格隔开。
输出说明:
输出最低的总能量消耗。
输入样例:
4
4 5
3 3
2 2
4 4
输出样例:7

4.产品质量抽查
自动化流水线生产,产品质量通过对每批N件产品中的连续M件进行抽查完成,其中每个产品评测K个指标,每个指标的检测结果为“优秀”(用1表示)或 “合格”(用0表示),例如一个产品有6个指标,检测结果为”110011”,表示该产品4项指标检测优秀, 2项指标检测合格。现在给出一批N件产品的检测结果,
求任意被抽查的连续M件产品(如1M、2(M+1) 、3(M+2)…、(N-M+1)N),使得优秀指标总项数最少,并输出该最少项数的值。
输入说明:
第一行是三个正整数,分别为N,M和K;
之后N行是每个产品的检测结果,为长度K的01字符串。
输出说明:
优秀指标总项数的最小值。
输入样例:
10 2 6
101111
111111
111111
101010
111011
111110
111111
111110
111011
111111
输出样例:
8

2020

单选题

1.以下关于Python3语言代码编写的描述,不正确的是( )
A、源文件默认使用UTF-8。
B、不支持一行书写多条代码。
C、支持一行书写多条代码,中间用分号隔开。
D、input函数相当于raw_input。

input函数相当于raw_input,但是比raw_input更安全,因为它会对用户的输入进行验证,确保输入的是数字。

2.以下哪个不是Python语言的标准库( )
A、random
B、NumPy
C、re
D、sys

Python的标准库中没有NumPy,它是一个第三方库,需要单独安装。random、re和sys都是Python的标准库。

sys标准库提供了一系列与Python解释器和运行时环境相关的功能和变量,方便程序员进行系统级的操作和管理。

3.以下哪个不是Python语言的标准库( )
A、datetime
B、random
C、sys
D、graph

4.以下哪个不是Python语言的标准库( )
A、re
B、random
C、sys
D、globe

re库是用于处理正则表达式的库。正则表达式是一种用于匹配字符串模式的工具。re库提供了一组函数和模式匹配操作符,使得你可以使用正则表达式来搜索、替换和解析字符串。

5.以下哪种方法是Python语言合理的代码注释( )
A、## No code to show here ##
B、/there is no code to show here/
C、”””there is no code to show here ”””
D、//there is no code to show here

6.以下哪个特殊字符不可以是Python标识符的首字母( )
A、‘_ ’
B、‘A’
C、‘n
D、‘8’

在Python中,标识符是用于变量、函数、类等对象的名称。Python的标识符遵循一些规则:
1.标识符的第一个字符必须是字母(包括大写和小写)或者是下划线()。
2.除第一个字符外,标识符的其他部分可以包含字母(包括大写和小写)、数字(0-9)和下划线(
)。
3.标识符是区分大小写的。

7.对于包括多重嵌套的分支判断语句,应该使用如下那个关键字( )
A、elif
B、else-if
C、else
D、pass

8.以下关键字不属于逻辑运算符的是( )
A、and
B、or
C、not
D、with

and 和 or 是逻辑运算符,not 是单目运算符,with 是上下文管理协议。

9.以下关键字不属于位运算符的是( )
A、~
B、|
C、^
D、&l t;

位运算符包括:与(&)、或(|)、异或(^)、取反(~)、左移(<<)、右移(>>)。所以,不属于位运算符的是D。

10.以下关键字不属于位运算符的是( )
A、|
B、**
C、&
D、^

位运算符包括:与(&)、或(|)、异或(^)、取反(~)、左移(<<)、右移(>>)。所以,不属于位运算符的是B,即**。

11.在Python中,表达式 ”xy” + “z”*3的结果是( )
A、xyz3
B、xyzzz
C、xyzxyzxyz
D、xyxyxyzzz

12.在Python中,a=0011 1100,b=0000 1101, 表达式 a&b 的结果是( )
A、0000 1100
B、0011 1101
C、0011 0001
D、1100 0011

13.在Python中,a=0111 1001,b=1010 1101, 表达式 a&b 的结果是( )
A、0000 1100
B、0010 1100
C、0010 1001
D、1111 1111

14.关于Python语言的特点,以下选项中描述错误的是( )
A、具备面向对象特性。
B、Python程序执行效率很高。
C、提供大量第三方开发包。
D、提供内存自动回收机制。

正确答案是:B。
Python是一种解释型语言,因此Python程序的执行效率相对较低。相比C++、Java等编译型语言,Python在执行速度上存在一定的差距。因此,选项B描述错误。

15.在Python语言中,提供很多数值计算方法的最常用第三方库是( )
A、pywin32
B、requests
C、NumPy
D、calcPy

正确答案是:C、NumPy。
NumPy是Python语言的一个扩充程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。因此,NumPy库提供很多数值计算方法,是进行科学计算的重要工具。

当涉及到数值计算时,NumPy库提供了许多有用的函数和方法。以下是一些常用的数值计算方法:
加法:可以使用numpy.add()函数对数组进行加法运算。
减法:可以使用numpy.subtract()函数对数组进行减法运算。
乘法:可以使用numpy.multiply()函数对数组进行乘法运算。
除法:可以使用numpy.divide()函数对数组进行除法运算。
幂运算:可以使用numpy.power()函数对数组进行幂运算。
开方:可以使用numpy.sqrt()函数对数组进行开方运算。
绝对值:可以使用numpy.absolute()函数对数组进行绝对值运算。
三角函数:可以使用numpy.sin()、numpy.cos()、numpy.tan()等函数对数组进行三角函数运算。
对数:可以使用
numpy.log()、numpy.log10()、numpy.log2()等函数对数组进行对数运算。
矩阵乘法:可以使用
numpy.dot()函数
对两个矩阵进行乘法运算。
矩阵转置:可以使用numpy.transpose()函数对矩阵进行转置运算。
矩阵逆:可以使用numpy.linalg.inv()函数对矩阵进行逆运算。
这些只是一些常用的数值计算方法,NumPy库还提供了许多其他有用的函数和方法,可以根据具体需求选择使用。

编程题

1.给定两个整数N和M(0<N<M<100000),求N到M中满足如下条件的数字,该数字与相邻的前、后数字之和可以被4整除。比如N=3,M=9时,4、8 是满足条件的, 而5、6、7不满足,3和9因为前、后数字不在N到M中,不参与统计。
输入说明:两个正整数N和M(N<M<100000)
输出说明:满足要求的数字,如果有多个满足条件的数字,按出现次序输出前3个,如果不足3个,用-1补充。
输入样例1:11 100
输出样例1:12 16 20

输入样例2:3 9
输出样例2:4 8 -1

2.给定两个整数N和M(0<N<M<100000),求N到M中满足如下条件的数字,该数字与相邻的前、后数字之和可以被5整除,比如N=4,M=11时,5、10是满足条件的, 而6、7、8、9不满足,4和11因为前、后数字不在1到N中,不参与统计。
输入说明:两个正整数N和M(N<M<100000)
输出说明:满足要求的数字,如果有多个满足条件的数字,按出现次序输出前3个,如果不足3个,用-1补充。
输入样例1:14 100
输出样例1:15 20 25

输入样例2:3 12
输出样例2:5 10 -1

3.给定两个整数N和M(0<N<M<100000),求N到M中满足如下条件的数字,该数字与相邻的前、后数字之积可以被5整除,比如N=1,M=6时,4,5是满足条件的, 而2、3不满足,1和6因为前、后数字不在1到N中,不参与统计。
输入说明:两个正整数N和M(N<M<100000)
输出说明:满足要求的数字,如果有多个满足条件的数字,按出现次序输出前3个,如果不足3个,用-1补充。

输入样例1:10 200
输出样例1:14 15 16

输入样例2:1 6
输出样例2:4 5 -1

4.输入一个包含N个整数的数组,从中找到连续M个数之和最大的数字组合。
输入说明:第一行是两个正整数N(N<200)和M(M<20)
第二行是N个整数(每个数字Ni都是整数,且|Ni|<100000),中间用空格分开
输出说明:最大的M个连续数字和及第一个数在数组中的位置(初始位置按1进行计算)。
输入样例:10 4
1 2 3 4 5 6 7 8 9 10
输出样例:34 7

  • 24
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值