中国电子学会202312青少年软件编程(Python)等级考试试卷(四级)真题
202312Python四级真题
一、单选题
1.下列有关分治算法思想的描述不正确的是?( )
A.下列有关分治算法思想的描述不正确的是?( )
B.将问题分解出的各个子问题相互之间有公共子问题。
C.将问题分解出的各个子问题相互之间有公共子问题。
D.可以将子问题的求解结果合并成原问题的解。
2.斐波那契数列前n项是1,1,2,3,5,8,13......
补全下面程序代码,求第n项斐波那契数列的值。
def fib(n):
if ______:
return 1
else:
return fib(n-1) + fib(n-2)
A.n == 2 B.n < 2 C.n == 3 D.n < 3
3.用分治法求两个数的最大公约数,代码和运行结果如下,请选择合适的代码完成程序?( )
def fun(m, n):
if m % n == 0:
return n
else:
return __________
print(fun(98, 56))
程序运行结果如下:
14
A.fun(n, m-n) B.fun(n, m%n)
C.fun(m, m-n) D.fun(m, m%n)
4.列出第三方库的详细信息的pip指令是?( )
A.pip install <第三方库名> B.pip download<第三方库名>
C.pip download<第三方库名> D.pip list<第三方库名>
5.想要在Python中导入math模块中的sqrt(x)函数,下列程序段错误的是?( )
A.import math
math.sqrt(x)
B.from math import sqrt as t
t(x)
C.from math import sqrt as t
t(x)
D.import math
sqrt(x)
6.关于求解“找出所有满足各位数字之和等于8的三位数”时,在下列数值范围内,算法执行效率最高的是?( )
A.0—999 B.0—1000 C.100—800 D.107—800
7.已知,从1到n的连续自然数相乘的积叫做阶乘,用符号n!表示,
比如3!=1×2×3,规定0!=1。那么用递归算法求n的阶乘,递归式正确的是?( )
A.f(0)=1,n=n*(n-1) B.f(0)=1,f(n)=f(0)*f(n-1)
C.f(0)=1,f(n)=f(n)*f(n-1) D.f(0)=1,f(n)=n*f(n-1)
8.当n为6时,运行下列Python程序后的结果是?( )
def f(n):
if n<=2:
return 1
else:
return f(n-1)+f(n-2)