第1题
阅读以下代码:
1 | def prime_generator(): |
请写出调用以下函数实现的功能:
- get_prime(100)
- 功能(此处作答):
- get_prime(20, max=200)
- 功能(此处作答):
- get_prime(20, min=100)
- 功能(此处作答):
- get_prime(20, min=100, max=200)
- 功能(此处作答):
第2题
设有N个人围坐在一张圆桌,从1到N进行编号,现从第1个人开始报数,数到第m的人出列,然后从出列的下一个重新开始报数,数到第m的人有出列……如此反复,直到所有的人全部出列为止。
编写一段代码,对于给定的N和m,打印出按照出列次序的前N/2(取整)个人员的序列。
测试程序,给出N = 20, m = 5, 出列顺序应该如下:5,10,15,20,6,12,18,4,13,1
第3题
请按要求在每个小题后的单元格编写相应的代码:
设$c$是一个固定的复数,在复平面上选取初值$x_0$,考虑迭代公式:
$$
x_{t} = x_{t-1}^2 + c
$$
- 请完善编写以下函数py_set_frac,该函数接收c,z,time三个参数:
- c为上面迭代公式的常数复数
- z是ndarray二维数组,dtype是np.complex
- time是ndarray二维数组,dtype是np.int32
该函数对z中的每个元素z[m,n]当做初值$x_0$进行上述迭代直到$t=255$, 迭代过程中若$|x_t|>2$, 则提前终止迭代,time[m,n]记录此时的t值
1 | import numpy as np |
- 请补充下面的代码块,生成复平面$[-1,1]\times [-1j, 1j]$上等距分布的$N\times N$个点,保存在变量z中,
z为NumPy
模块的ndarray
二维数组,dtype为np.complex
提醒:python中用j
表示复数单位,如:
1 | a = 3; b = 4; c = a + 1j*b |
1 | N = 256 |
3)【验证代码】补充完上述代码并执行无误后,再执行下面单元的脚本,若你的代码正确,会得到类似如下的图像
1 | # 【验证代码】补充完上面单元格的代码并执行后,再执行此单元的脚本验证 |