a,b=[0]*10,[False]*10
i=0
while i<=9:
if not b[r]:
a[i]=r
i=i+1
print(a)
则划线处的代码依次是( )
① r=random.randint(0,10)
② b[r]=True
③import random
④ b[i]=True
⑤from random import randint
⑥ r=random.randint(0,9)
a |
b |
a % b |
123456 |
7890 |
5106 |
7890 |
5106 |
2784 |
5106 |
2784 |
2322 |
2784 |
2322 |
462 |
2322 |
462 |
12 |
462 |
12 |
6 |
12 |
6 |
0 |
程序如下:
a = int(input("输入第一个数:")) b= int(input("输入第二个数:")) c= ① while ② :
print("它们的最小公倍数是:",c//a) |
为了热点之间比较方便,小钟设置了一个热度值来衡量一个热点的热度大小,热度值越大说明这个热点的热度越高。现在小钟已经获得了如下两个平台的热度值从小到大的排行榜,正当他打算将之合并为一个从小到大的排行榜时,却被老师叫走了。于是他决定把这个小功能交给他的好朋友——你来实现,你想到2种算法,请把下列程序填写完整。
A |
P10 |
P9 |
P8 |
P7 |
P6 |
P5 |
P4 |
P3 |
P2 |
P1 |
11 |
66 |
116 |
329 |
438 |
582 |
652 |
714 |
756 |
925 |
|
B |
E10 |
E9 |
E8 |
E7 |
E6 |
E5 |
E4 |
E3 |
E2 |
E1 |
35 |
116 |
215 |
271 |
309 |
428 |
576 |
772 |
806 |
950 |
Python程序如下:
A= [11,66,116,329,438,582,652,714,756,925]
B = [35,116,215,271,①,428,576,772,806,950]
算法一:
myRank =
i = 0
j = 0
while (i < len(A) and j < len(B)):
if (A[i] < B[j]):
②
i += 1
else:
myRank.append(B[j])
j += 1
while (i < len(A)):
myRank.append(A[i])
i += 1
else:
while (③):
myRank.append(B[j])
j += 1
print(myRank)
算法二:
myRank = [0]*(len(A)+len(B))
i = 0
j = 0
k = 0
while (④):
k = i+j
if (i >= len(A)):
myRank[k] = B[j]
j += 1
elif (j >= len(B)):
myRank[k] = A[i]
i += 1
elif (⑤):
myRank[k] = A[i]
i += 1
else:
myRank[k] = B[j]
j += 1
print(myRank)
百千白鸡问题是经典的数学问题,原题为“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?”翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?
import random
while True:
x=random.randrange(0,20)
y=random.randrange(0,33)
z=random.randrange(0,100)
if 5*x+3*y+z/3==100 and x+y+z==100:
print('公鸡',x)
print('母鸡',y)
print('小鸡',z)
实现上述功能的程序如下,请在划线处填入合适的代码。
def isprime(x):
for i in range(2,x):
if:
return False
return True
n=int(input(“请输入一个正整数n:”))
c=0
k=3
while k<=n-2:
if isprime(k) and:
print(k,k+2)
k=k+1
print(“共有”+str(c)+“对双胞胎数”)
实现上述功能的程序如下,请在划线处填入合适的代码。
import math
def isprime(x):
for i in range(2,int(math.sqrt(x))+1):
if x % i = = 0 :
f=False
return f
n=int(input("请输入一个正整数 n:"))
c=0
k=3
while k < = n-2:
if isprime( k ) and:
c + = 1
print("第"+ str( c ) +"对双胞胎数:", k ,'和',k+2)
print("共有"+str(c)+"对双胞胎数")
将字符串(均为大写字符)s依次转换为相对应的数值(字符A~Z对应数值1~26);
·转换后的数值以K个数据为一段,将n个待处理的数据依次分割成若干段(最后一段不足部分用0来补充);
每一段中K个数据与K*K转置矩阵进行乘法运算;
将乘法运算得到的每一个结果值除以26求余数,依次转换成相应字符(数值1~26对应字符A~Z),最后按原始字符串长度输出。
乘法运算规则如下:
第i个元素c(i)=第j个元素a(j)*转置矩阵第j行第i个元素b(t)的乘积之和(其中j=1,2…K)
例如:字符串s=PYTHON,区块大小K=4,的转置过程如下:
Private Sub Command1_Click()
Dim a(1 To 100)As Integer '存储字符串,长度不超过100个字符
Dim b(1 To 100)As Integer '存储转置矩阵,长度不超过10*10
Dim c(1 To 100)As Long
Dim s As String, tmp As String
Dim k As Integer, t As Integer, i As Integer, j As Integer
Dim n As Integer, m As Integer, lens As Integer
s=Text1. Text '在Text1中输入原始字符串
k=Val(Text 2.Text) '在Text2中输入区块大小K
Randomize
For i=1 To k^2
b(i)=Int(Rnd*9)+1
tmp=tmp+Str(b(i))
If i Mod k=0 Then
List 2. AddItem tmp
tmp=""
End If
Next i
lens=Len(s):n=lens
For i=1 To n
tmp=Mid(s,i,1)
List1. AddItem Str(a(i))
Next i
Do While n Mod k<>0
n=n+1
a(n)=0
List1. AddItem Str(a(n))
Loop
For i=1 To n
m=(i-1) Mod k+1
t=1
For j=
c(i)=a(j) * b((m-1) * k+t)+c(i)
t=t+1
Next j
Next i
For i=1 To n
List3. AddItem Str(c(i))
Next i
s=″″
For i=1 To lens
s=s+Chr(t+64)}
Next i
Text 3.Text=s '在Text 3中输出转置后的字符串
End Sub