早教吧 育儿知识 作业答案 考试题库 百科 知识分享

(求VB代码!---高手入)将一个正整数分解质因数,例:输入90,打印出90=2*3*3*5有这样的提示:对N进行分解质因数,应先找到一个最小质因数K,后按以下步骤完成:1,若该质因数恰为N,则

题目详情
(求VB代码!---高手入)将一个正整数分解质因数,例:输入90,打印出90=2*3*3*5有这样的提示:对N进行分解质因数,应先找到一个最小质因数K,后按以下步骤完成: 1,若该质因数恰为N,则说明分解质因数的过程已经结束,打印出即可; 2,若N<>K,但N可被K整除,应打印出K的值,并用N除以K的商,作为新的正整数N,重复执行第一步; 3,若N不能被K整除,则用K+1作为N的值,重复执行第一步。 ————————小弟实在不知道从哪儿入手,帮帮忙吖!~~~对的有追加分!~~~~
▼优质解答
答案和解析
需要2个文本框text 和 2个按钮command (一个计算 一个清除) Dim x, a, b, k As String Private Sub Command1_Click() a = Val(Text1.Text) x = 2 If a <= 1 Or a > Int(a) Then If a = 1 Then Text2.Text = "它既不是质数,也不是合数" Else MsgBox "请您先输入数据", vbOKOnly + vbInformation, "友情提示" End If Else Do While a / 2 = Int(a / 2) And a >= 4 If b = 0 Then Text2.Text = Text2.Text & "2" b = 1 Else Text2.Text = Text2.Text & "*2" End If a = a / 2 k = a Loop Do While a > 1 For x = 3 To Sqr(a) Step 2 Do While a / x = Int(a / x) And a >= x * x If b = 0 Then Text2.Text = Text2.Text & x b = 1 Else Text2.Text = Text2.Text & "*" & x End If a = a / x Loop Next k = a a = 1 Loop If b = 1 Then Text2.Text = Text2.Text & "*" & k Else Text2.Text = "这是一个质数" End If End If End Sub Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" End Sub 以上就是了,不过没有完善 呵呵 但是已经可以满足你说的要求了