浙江选考信息技术客观题专题汇编之专题十自定义函数、迭代递归小题(PDF版,含答案)

文档属性

名称 浙江选考信息技术客观题专题汇编之专题十自定义函数、迭代递归小题(PDF版,含答案)
格式 zip
文件大小 665.1KB
资源类型 教案
版本资源 浙教版(2019)
科目 信息技术(信息科技)
更新时间 2022-12-27 20:10:17

图片预览

文档简介

1. 2022 9 9
1. Python
def function(k):
sum = 1
for i in range( 1, k+1):
if (k%2= = 1):
if (i%2= = 1)
sum = sum * i
else:
sum+ = 1
else:
if (i%2= =0):
sum = sum * i
else:
sum+ = 1
return sum
print (function(int(k)))
A. 126 B. 1 C. 2277 D. 253
2. 2022 10 9
2. Python
def trans(m,n):
if m!=0:
r=m%n
return trans(m//n,n)+str(r)
else:
print(trans(a,b))
11 2
A. 1011 B. 1101 C. 01011 D. 11010
3. 2022 6 10
s 2 3 5 83. , s Python
1 2 3 5
def sum(n):
s=0 ; x=2 ; y=1
for i in range(0, n):
return s
print(sum(n))
x=x+y y=x s=s+x/y y=x-y
1/5
A. B. C. D.
4. 2022 11 10
4. 2 3 5
def ugly(n):
for i in [2, 3, 5]:
while n % i == 0:
n = n // i
return n == 1
ugly(30)
A. False B.
C. O(n2 ) D. n % i == 0 3
5. 2022 11 9
5. 6
a=1 def f(n):
b=1 if n==1 or n==2:
for i in range(2,6): return 1
c=a+b else:
a=b return f(n-1)+f(n-2)
b=c print(f(6))
print(c)
A. O(1)
B.
C. f(4) 2
D. i=4 a 5
6. 2022 11 9+1 10
6. Python
# 1 # 2
def rec(n): def rec(n):
if n==1: # ans=0
return 1 # for i in range(1,n+1,1):
else: ans=ans+i
return n+rec(n-1) return ans
print(rec(10)) print(rec(10))
A 1 2
B 1 2
C n 2 O(n2 )
D 1 1 0
2/5
7. 2022 11
7. 15 1 2 3
,
def stairs1(n): def stairs2(n):
a,b,c = 1,2,4 d = {1:1,2:2,3:4}
for i in range(n - 3): if n in d:
c,b,a = a+b+c,c,b return d[n]
return c return stairs2(n-1)+stairs2(n-2)+stairs2(n-3)
A. O(logn)
B. n 5 13
C.
D.
8. 2022 8
8.
def fx(m):
if m<=1:
f=1
else:
f=fx(m-1)+2*(m-1)
return f
ans=0
for i in range(5):
ans+=fx(i)
print(ans)
A. 12 B. 20 C. 25 D. 46
9. 2022 10 10
9. Python
def fun(x):
if x==1:
return '1'
elif x%2==0:
return str(x)+'-'+fun(x//2)
else:
return str(x)+'-'+fun(x*3+1)
print(fun(5))
A. 5-2-7-3-6-3-1 B. 1-2-4-8-16-5 C. 5-16-8-4-2-1 D. 1-4-8-16-5
10. 2022 6 11
3/5
10. Python
def doit(x):
if x>=6:
ans=1
else:
ans=3*doit(x+1)+2*doit(x+2)
return ans
print(doit(3))
A.17 B.21 C.61 D.62
11. 2022 11 12
11. Python :
def sume(s) :
if len(s) == 1 :
return s[0]
elif len(s) == 2:
return s[0] + s[1]
else:
return sume(s[0: len(s) / /2]) + sume(s[len(s)//2:len(s)])
s=sume ([1,2,3,4,5])
sume
A. 5 B. 6 C. 7 D. 8
12. 2022 11 9
12.
A.
B. n!
C.
D. ( >2)
13. 2022 6 10
13 python
def f(t):
if t == 0:
return s[0]
return s[t] + f(t - 1)
print(f(len(s)-1))
A python B nohtyp C pytho D nohty
14. 2022 12 10
14. Python :
def fibo(n):
4/5
f1=1;f2=1
for i in range(3, n+1):
f3=f1+f2 #①
f1=f2 #②
f2=f3 #③
return f3
n=int(input("求第 n 项:"))
print(fibo(n))
下列说法正确的是
A. 该程序主要应用了递归算法
B. 程序执行时若输入“5”,则输出“8”
C. 假如用大 O 记法体现该算法的时间复杂度,则记作 O(n)
D. 将语句①交换到语句②后,不会影响程序运行结果
5/5
10. 自定义函数、迭代递归
1 2 3 4 5 6 7 8
D C C B C D A C
9 10 11 12 13 14
C C A C B C
同课章节目录