请问在VB里面如何设计程序找出1000以内的完数?

 我来答
很多游戏
高粉答主

2019-11-27 · 游戏精通者,攻略技能点满
很多游戏
采纳数:91 获赞数:386985

向TA提问 私信TA
展开全部

1、启动VB6.0,新建一个标准exe工程。

2、在窗体上绘制一个命令按钮,名称为Command1。

3、双击命令按钮进入代码窗口。

4、编写命令按钮的单击事件。

Private Sub Command1_Click()

For n = 1 To 1000

s = "" '这一句要加上

Sum = 0

For i = 1 To n / 2

If n Mod i = 0 Then

Sum = Sum + i

s = s + Str(i) + "+"

End If

Next i

If n = Sum Then

s = Left(s, Len(s) - 1)

Picture1.Print s; "="; n '这里 Picture1是图片框的名字

End If

Next n

End Sub

5、然后按F5运行测试,这样就完成了。

syx54
推荐于2017-11-22 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2744万
展开全部
一,首先要理解什么是完数:
如果一个数恰好等于它的因子之和,则称该数为“完全数”。各个小于它的约数的和等于它本身的自然数叫做完全数(Perfect number),又称完美数或完备数或者叫完数。
例如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。
二,所以,在判断一个数是否完数前,先要求出该数的所有小于它的约数;
比如:对于n=6,分解出其所有约数,并求它们的和:
Dim i As Integer
Dim n As Integer
Dim s As Integer
n = 6
s = 1
For i = 2 To n - 1
 If n Mod i = 0 Then s = s + i
Next i
msgbox s
这样解决了一个数是否完数的问题,现在要求出1000以内所有的完数,即:1-1000之间所有的完数。那么应该想到使得n从2(肯定不是完数)开始循环到1000,然后一一进行上述判断。
三,求出1000以内所有的完数:
Dim i As Integer
Dim n As Integer
Dim s As Integer
for n=2 to 1000
 s=1
 for i=2 to n-1
  If n Mod i = 0 Then s = s + i
 Next i
 if s=n then print n
next n
追问
非常感谢
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式