编写程序计算n的阶乘求1+2+3+…+20的阶乘

我求阶乘怎么不对?单击计算按钮出现1!+2!+3!+4!....+20的值_vb吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:96,052贴子:
我求阶乘怎么不对?单击计算按钮出现1!+2!+3!+4!....+20的值收藏
Private Sub Command1_Click()
Dim S As Double
Dim Sum As Double
Dim I As Integer, J As Integer
For I = 1 To 20'**********found*************
'请不要删除该行'
S = 0'**********found*************
'请不要删除该行'
For J = 21To 20
Sum = Sum + S
Text1.Text = Str(Sum)End Sub Private Sub Command2_Click()
EndEnd Sub Private Sub Form_Load()
Text1.Text = ""End Sub
“健康随e保”可保障儿童41种重大疾病。150元起/年,给孩子45万高额保障。
求大神指导
因为 S 永远等于 0 将s=0 放到i循环之前吧
1!=1,2!=2,3!=6,4!=24,5!=120,6!=720,7!=5,040,8!=40,3209!=362,88010!=3,628,80011!=39,916,80012!=479,001,60013!=6,227,020,80014!=87,178,291,20015!=1,307,674,368,00016!=20,922,789,888,00017!=355,687,428,096,00018!=6,402,373,705,728,00019!=121,645,100,408,832,00020!=2,432,902,008,176,640,000这些加到一起,Sum的类型行吗
Dim S As Currency
如果为货币型,那么最大也就是15位整数。20!=2,432,902,008,176,640,000 则为19位整数。溢出是对的。vb运算不了这样的数。
Private SubCommand1_Click()Dim S As CurrencyDim Sum As CurrencyDim I As Integer, J AsIntegerSum = 0S = 1For I = 1 To 20
'**********found************* '请不要删除该行'
'**********found************* '请不要删除该行'
For J = 1 To I
Sum = Sum + SNext IText1.Text = Str(Sum)End SubPrivate SubCommand2_Click()EndEnd SubPrivate Sub Form_Load()Text1.Text = ""End Sub这样修改后,还是溢出的。
我承认是我错了。实际上double类型位数大于货币型。Private Sub Command1_Click()Dim S As DoubleDim Sum As DoubleDim I As Integer, J As IntegerSum = 0For I = 1 To 20S = 1
For J = 1 To I
Sum = Sum + S
List1.AddItem Sum & " :
" & INext IText1.Text = Str(Sum)End Sub
楼主,这不是1层循环就行么?你搞2层循环我就看不懂了。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或2008年10月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 编写程序计算n的阶乘 的文章

 

随机推荐