主题:求解····急急急急急。。。。。。。。。
一、改错题(14分)VB01
【题目】本程序的功能是:把10~20范围内的数分别表示成若干个质因子连乘的形式。
Option Base 1
Private Sub Command1_Click()
Dim j As Integer, pf() As Integer, i As Integer
Dim st As String
For i = 10 To 20
Call prime_f(i, pf)
st = CStr(i) & "="
For j = 1 To UBound(pf)
st = st & Str(pf(j)) & "*"
Next j
st = st & Str(pf(j))
List1.AddItem st
Next i
End Sub
Private Sub prime_f(n As Integer, a() As Integer)
Dim i As Integer, k As Integer
i = 2
Do
If n Mod i = 0 Then
k = k + 1
ReDim Preserve a(k)
a(k) = i
n = n \ i
Else
i = i + 1
End If
Loop Until n <= 0
End Sub
二、编程题(26分)
【题目】编写程序找出介于M,K(M>100,K<1000)之间的勾股弦数。设N是介于M、K之间的正整数,它的第一位、第二位数字依次为a、b,最后一位(或两位)是c,若a2+b2=c2,则这样的数N称为勾股弦数。
【编程要求】
1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2.运行程序,首先在文本框M和K中输入查找范围,然后按“运行”按钮,在列表框中以指定格式输出查找结果,若指定区间无勾股弦数,则输出“无勾股弦数!”信息;按“清理”按钮,将文本框和列表框清空,焦点置于文本框M上;按“结束”按钮,结束程序运行;
3.程序中应定义一个通用过程,用于将一个整数按给定规则分解成三位数,并验证其是否为勾股弦数。
【算法提示】注意,三角形的边长不得为0。
【题目】本程序的功能是:把10~20范围内的数分别表示成若干个质因子连乘的形式。
Option Base 1
Private Sub Command1_Click()
Dim j As Integer, pf() As Integer, i As Integer
Dim st As String
For i = 10 To 20
Call prime_f(i, pf)
st = CStr(i) & "="
For j = 1 To UBound(pf)
st = st & Str(pf(j)) & "*"
Next j
st = st & Str(pf(j))
List1.AddItem st
Next i
End Sub
Private Sub prime_f(n As Integer, a() As Integer)
Dim i As Integer, k As Integer
i = 2
Do
If n Mod i = 0 Then
k = k + 1
ReDim Preserve a(k)
a(k) = i
n = n \ i
Else
i = i + 1
End If
Loop Until n <= 0
End Sub
二、编程题(26分)
【题目】编写程序找出介于M,K(M>100,K<1000)之间的勾股弦数。设N是介于M、K之间的正整数,它的第一位、第二位数字依次为a、b,最后一位(或两位)是c,若a2+b2=c2,则这样的数N称为勾股弦数。
【编程要求】
1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2.运行程序,首先在文本框M和K中输入查找范围,然后按“运行”按钮,在列表框中以指定格式输出查找结果,若指定区间无勾股弦数,则输出“无勾股弦数!”信息;按“清理”按钮,将文本框和列表框清空,焦点置于文本框M上;按“结束”按钮,结束程序运行;
3.程序中应定义一个通用过程,用于将一个整数按给定规则分解成三位数,并验证其是否为勾股弦数。
【算法提示】注意,三角形的边长不得为0。