序号 | 1 2 3 4 |
1 轮次 | ![]() 1 1 1 1 |
2 轮次 | 2 ![]() 2 2 2 |
3 轮次 | ![]() 3 3 |
4 轮次 | ![]() 4 |
现在,只要给小九纸牌的数量n,他能通过逆推法快速地计算出取的纸牌编号顺序,方如下(以

逆推得到的纸牌顺序 | 1 | 4 | 2 | 3 |
最终得到的纸牌编号 | 1 | 2 | 3 | 4 |

轮次 | 数组 | 1 2 3 4 |
1 | a(1)=1 | 1 |
2 | ④前一轮所有值加1 ②第二位增加数值1 ③将轮次为1的数放在最前 ④整体右移动2位 | 2 2 1 1 2 1 2 |
3 | ①前一轮所有值加1 ②第三位增加数值1 ③将轮次为1的数放在最前 ④整体右移动1位 | 2 3 2 3 1 1 2 3 3 1 2 |
4 | ①前一轮所有值加1 ②第四位增加数值1 ③将轮次为1的数放在最前 ④整体右移动0位 | 4 2 3 4 2 3 1 1 4 2 3 1 4 2 3 |
(1)由题意可知,当n的值为6时,1~6张纸牌被取走顺序为________。
(2)请在划线处填入合适的代码。
Dim n As Integer
Dim a(1 To 100) As Integer
Private Sub Commandl_Click ()
Dim i As Integer, j As Integer, k As Integer
Dim ans As String, x As Integer
n= Val (Text1.Text)
a(1)=1
For i =2 To n
For j= 1 To i-1
_________
Next jj=i
Do While j>1
a(j)=a(j-1)
j=j-1
Loopa(1)=1
For j=1 To n-i
k=a(1)
___________
a (x)=k
Next jNext i
ans = " "
For i = 1 To n
ans = ans + Str(a(i))
Next iLabell.Caption ="序列为: "+ ans
End Sub
Function yd(i As Integer) As Integer
Dim j As Integer, tmp As Integer
For j = i To 2 Step -1
tmp = j + 1
If tmp > i Then ________
a(tmp)= a(j)
Next j
yd = j+ 1
End Function

同类型试题

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2


y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

