| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3356 人关注过本帖
标题:[求助]求一个数的因子用什么函数?
只看楼主 加入收藏
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
结帖率:66.67%
收藏
 问题点数:0 回复次数:10 
[求助]求一个数的因子用什么函数?
如果一个数的因子之和等于这个数的本身,则称这样的数为“完全数”。
例如,整数28的因子为1,2,4,7,14,其和1+2+4+7+14=28,因此28是一个完全数。
编写一个程序,从键盘上输入整数M和N,求出M和N之间的所有的完全数。

Dim x As Integer, y As Integer
x = Val(InputBox("输入第一个数"))
y = Val(InputBox("输入第二个数"))
For i = x To y

下面不知道该怎么写了
如何求出一个数的各个因子呢?
需要什么函数吗?
请教高手指点!
感激感激!
搜索更多相关主题的帖子: 函数 
2006-04-24 21:30
qqqaaaqqq
Rank: 1
等 级:新手上路
帖 子:94
专家分:0
注 册:2005-12-30
收藏
得分:0 
“整数28的因子为1,2,4,7,14”是怎么来的
2006-04-24 21:50
VBACO
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-4-23
收藏
得分:0 
Dim YinZi() As Integer,I As Integer,j As Integer,S as Integer
S = Val(Text1.Text)
For j = 2 To S / 2
If S Mod j = 0 Then
i = i + 1
Redim Preserve YinZi(i)
YinZi(i) = j
End If
Next

[此贴子已经被作者于2006-4-24 21:57:11编辑过]

2006-04-24 21:55
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
以下是引用qqqaaaqqq在2006-4-24 21:50:00的发言:
“整数28的因子为1,2,4,7,14”是怎么来的

整数28的因子是通过求质数得来的
也就是因式分解求质数


生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2006-04-24 22:05
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
以下是引用VBACO在2006-4-24 21:55:00的发言:
Dim YinZi() As Integer,I As Integer,j As Integer,S as Integer
S = Val(Text1.Text)
For j = 2 To S / 2
If S Mod j = 0 Then
i = i + 1
Redim Preserve YinZi(i)
YinZi(i) = j
End If
Next

这段代码用来求一个数的因子吗?
我看不懂什么意思啊?
Redim Preserve YinZi(i)这句是干嘛用的


生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2006-04-24 22:20
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
自顶一下
大家帮忙想想办法啊

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2006-04-25 10:45
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
自顶一下
大家帮忙想想办法啊

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2006-04-25 15:02
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
搞定!!!

Private Sub Form_Click()
Cls
Dim m As Integer, n As Integer, i As Integer, j As Integer
Dim k As Integer, t As Integer
t = 0
m = Val(InputBox("输入第一个数"))
n = Val(InputBox("输入第二个数"))
For i = m To n
For j = 1 To i - 1
k = i Mod j
If k = 0 Then
t = t + j
End If
Next j
If t = i Then
Print i;
End If
t = 0
Next i
End Sub

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2006-04-26 20:39
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
或者这个,可以减少一半运算
Private Sub Form_Click()
Cls
Dim m As Integer, n As Integer, i As Integer, j As Integer
Dim k As Integer, t As Integer
t = 0
m = Val(InputBox("输入第一个数"))
n = Val(InputBox("输入第二个数"))
For i = m To n
For j = 1 To i /2 ’改用除法
k = i Mod j
If k = 0 Then
t = t + j
End If
Next j
If t = i Then
Print i;
End If
t = 0
Next i
End Sub

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2006-04-26 21:03
xinfresh
Rank: 4
等 级:贵宾
威 望:13
帖 子:594
专家分:0
注 册:2006-1-13
收藏
得分:0 
我总觉得你还是很有耐心的,会有出息的

E-mail:xinfresh@QQ:383094053校内:http:///getuser.do?id=234719042
2006-04-27 18:06
快速回复:[求助]求一个数的因子用什么函数?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016496 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved