注册 登录
编程论坛 VB.NET论坛

求帮忙,编写程序求 n!(n的阶层)小于等于20000是的最大n值

jia_yi 发布于 2011-05-01 21:29, 1773 次点击
求帮忙,编写程序求   n!(n的阶层)小于等于20000是的最大n值!!不会呀~~
6 回复
#2
qq10235692232011-05-01 21:55
程序代码:
Dim n As Integer,i As Integer,j As Integer
n=1
For i=1 to 100
For j=1 to i
n=n*j
Next j
if(n>20000) Then Exit For
n=1
Next i
print i-1  'i-1就是要求的数

#3
jia_yi2011-05-02 12:23
可是我的不能实现啊!!      print i-1  'i-1就是要求的数  这段代码显示出现错误

#4
qq10235692232011-05-03 20:07
程序代码:
Private Sub Form_Load() '运行时将窗体的Autoredraw属性设置为true,结果是7
Dim n As Long, i As Integer, j As Integer  'Integer不够大,改为long就OK
n = 1
For i = 1 To 100
For j = 1 To i
n = n * j
Next j
If (n > 20000) Then Exit For
n = 1
Next i
Print i - 1 'i-1就是要求的数
End Sub
#5
wsxsom2011-05-03 20:19
問題大
#6
wsxsom2011-05-03 20:32
Dim i As Integer
        Dim s As Integer
        s = 1
        For i = 1 To 100
            s = s * i
            If s > 2000 Then
                TextBox1.Text = i - 1
                TextBox2.Text = s / i
                Exit For
            End If
        Next
#7
wwf30452011-05-06 14:47
如果是N<2000,那用一般的计算是无法实现的,因为这个值大概为为1.8e+77337,用数学变量会出现溢出错误。所以应考虑使用字符串合并的方法来求解。建议你去看看大数阶乘这方面的帖子,网上有很多的。
1