for循环 嵌套 算阶乘和的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了for循环 嵌套 算阶乘和的问题相关的知识,希望对你有一定的参考价值。

dim as 就省略哈
循环:
Private Sub Command1_Click()
s = 0
For j = 1 To 3
t = 1
For i = 1 To j
t = t * i
Next i
s = s + t
Next j
Print s
End Sub
这样算出来是正确的
问题是“t=1”为什么不能写在s=0的后面,也就是for循环的前面
Private Sub Command1_Click()
s = 0
t = 1
For j = 1 To 3

For i = 1 To j
t = t * i
Next i
s = s + t
Next j
Print s
End Sub
这样算的话就是错了的。。是什么原因呢????请教一下~!!

两个程序,都是正确的。只是“t=1”写在s=0的后面,也就是for循环的前面的时候,输出的是“t”跟“i”累乘后再和“s”相加的结果,也就是15
而“t=1”写在第一个for循环的后面的时候,每执行一次“J”的循环,t都被重新赋值为t=1.所以前一个输出结果应该为最后一次:3*3=9
兄台,可能表达不清,多见谅!不过编程题,你最好用计算机的思维方式来想就行了,它只会一步步规则的运算。
参考技术A 循环仅仅是执行for --> next 内的代码,这样子的话循环两次之后t就等于2
然后t*i 就是6 了

求阶乘之和

1 问题

用高精度计算出 S = 1! + 2! + 3! + 4! + 5! + n!(n<=50)。

其中“!”表示阶乘,例如:5!=5×4×3×2×1。

2 方法

运用for循环内嵌,第一个for循环,从1到n算阶乘,第二个for循环,就套用阶乘算法。

3 实验结果与讨论

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单 1

n=eval(input())      
b=0        
for i in range(1,n+1):    
   c=1      
   for j in range(1,i+1):
       c*=j      
   b+=c        
print(b)        

4 结语

针对这个问题,可以发现,python是可以数学上的阶乘求和问题的,运用这个程序,可以解决关于阶乘运算困难的问题。

以上是关于for循环 嵌套 算阶乘和的问题的主要内容,如果未能解决你的问题,请参考以下文章

怎么用while语句算5的阶乘?

谁能教我VB for循环的嵌套怎么算

怎样用C语言计算1到10的阶层的和?

用循环嵌套方法阶乘倒数求和?怎么求?主要是那个无穷大的数不会写

C++_第七章函数的基本知识_求阶乘的子函数_ 函数参数类型为数组_ 求数组内所有元素和部分元素和的方法_实现了先从键盘输入到一个数组中,再用for循环取读出数组中的元素 for循环也可以用bre(

求阶乘之和