学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
给定n个不同的正整数(小于等于100),将它们分组,使得每组中任意两个数互质(它们的公约数为1)。按照以下算法对n个数进行分组:
n个正整数由文本框Text1输入,依次存储到a数组中,b(1 to 25)中存储100内的素数,c数组存储每一组的数字个数及对应数字,d数组存储每一组内所含的质因子,相同质因子只存储一次,最后分组情况显示在列表框List1中。
c数组初始状态:
组别
第一组
第二组

位置
0
1
2
3
4
5
6
7
8
9
10
11
12
13


0
0
0
0
0
0
0
0
0
0
0
0
0
0

d数组初始状态:
组别
第一组
第二组

位置
1
2
3
4
5
6

25
26
27
28
29
30

50


0
0
0
0
0
0

0
0
0
0
0
0

0

若第一个数据为70,确定分组的过程为:先查找第一组内所含的质因子中是否含有70的质因子,未找到,则c数组中表示第一组数据个数的值加1,并将70添加到c数组的第一组内,同时在d数组第一组中依次添加70所含的各个质因子。
c数组变化情况:
组别
第一组
第二组

位置
0
1
2
3
4
5
6
7
8
9
10
11
12
13


1
70
0
0
0
0
0
0
0
0
0
0
0
0

d数组变化情况:
组别
第一组
第二组

位置
1
2
3
4
5
6

25
26
27
28
29
30

50


2
5
7
0
0
0

0
0
0
0
0
0

0

尝试将第2~n个整数分组。在确定某数分组的过程中,若已有的组内不存在该数所含的质因子,则将其分到第一个符合条件的组;否则,将其分到新生成的组中。
分组完毕后数组存储情况如下表。
c数组:
组别
第一组
第二组

位置
0
1
2
3
4
5
6
7
8
9
10
11
12
13


2
70
99
0
0
0
0
3
25
54
11
0
0
0

d数组:
组别
第一组
第二组

位置
1
2
3
4
5
6

25
26
27
28
29
30

50


2
5
7
3
11
0

0
5
2
3
11
0

0

按照上述要求编写一个VB程序,其运行界面如图所示。

(1)按照上述算法,若有“35、40、26、18、63、77 ”6个整数,至少分成______组(填具体数字)。
(2)请在划线处填入合适的代码。
Const n = 6                 '数据个数
Dim a(1 To n) As Integer     '存储原始数据
Dim b(1 To 25) As Integer    '存储100以内的素数
Dim c(0 To (n + 1) * n) As Integer   '存储每一组的数字个数及对应数字
Dim d(1 To 25 * n) As Integer        'd数组存储每一组内含有的质因子
Private Sub Command1_Click()
Dim t As Integer, i As Integer, j As Integer
Dim k As Integer, m As Integer, p As Integer
Dim y As Integer, zu As Integer
Dim st As String
For t = 1 To n
k = 1
i = 1
Do While d((k - 1) * 25 + i) <> 0
If a(t) Mod d((k - 1) * 25 + i) = 0 Then
____________
i = 0
End If
i = i + 1
Loop
m = (k - 1) * (n + 1)  '每一组存储数字个数的所在位置
c(m) = c(m) + 1
_____________
For j = 1 To 25
If a(t) Mod b(j) = 0 Then
______________
i = i + 1
End If
Next j
Next t
p = 0
Do While c(p) > 0
st = ""
For i = 1 To c(p)
st = st + Str(c(p + i))
Next i
zu = p \ (n + 1) + 1
List1.AddItem "第" + CStr(zu) + "组为:" + st
'Cstr的功能:将数值型转为字符串型
p = p + n + 1
y = y + 1
Loop
List1.AddItem "至少分:" + CStr(y) + "组"
End Sub
Private Sub Form_Load()
'读取文本框Text1中的各个数据依次存储到数组a中,存储100以内的素数到数组b中,代码略
End Sub
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

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

用户名称
2019-09-19

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

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交