当前位置:   article > 正文

PTA-计算1!+2!+3!+......_已知求阶乘的函数如下,利用这个函数,编程计算并输出5*(1!+2!+...+n!)的值。注意函

已知求阶乘的函数如下,利用这个函数,编程计算并输出5*(1!+2!+...+n!)的值。注意函

题目:

已知求阶乘的函数如下,利用这个函数,编程计算并输出5*(1!+2!+...+n!)的值。注意函数Fact()返回的类型。

  1. unsigned long Fact(unsigned int n)
  2. {
  3. int i;
  4. unsigned long result = 1;
  5. for (i=2; i<=n; i++)
  6. result *= i;
  7. return result;
  8. }

输入格式:

输入整数n,n小于13。

输出格式:

sum=计算结果。

输入样例:

4

输出样例:

sum=165

分析: 

计算一个特定序列的求和,并将结果乘以5后输出。

代码逻辑如下:

  1. 首先,代码从用户那里获取一个整数 n
  2. 初始化一个变量 sum 为0,这个变量将用于存储最终的求和结果。
  3. 使用一个外循环,循环变量 i 的值从1到 n
    • 在这个循环中,初始化一个变量 m 为1。
    • 然后,使用一个内循环,循环变量 j 的值从1到 i
      • 在这个循环中,将 m 乘以 j,然后将结果重新赋值给 m
    • 将 m 的值加到 sum 上。
  4. 在外循环结束后,将 sum 乘以5。
  5. 最后,使用 print 函数输出 sum 的值。

以 n=3 为例,代码的执行过程如下:

  1. i=1m=1*1=1sum=0+1=1
  2. i=2m=1*2=2sum=1+2=3
  3. i=3m=1*3=3sum=3+3=6

所以,当 n=3 时,最后的输出结果为 sum=30。这是因为 1+2+3=6,然后将6乘以5等于30。

注意:这个代码实际上计算的是一个数学序列的和,该序列的通项公式是每一项等于前一项乘以它的序号。例如,第一项是1,第二项是1×2,第三项是2×3,以此类推。然后将这个序列的和乘以5。

Python版本:

  1. n = int(input())
  2. sum = 0
  3. for i in range(1, n+1):
  4. m = 1
  5. for j in range(1, i+1):
  6. m = m * j
  7. sum = sum + m
  8. sum*=5;
  9. print(f"sum={sum}")
'
运行

结果: 

总结:

 这段代码的核心思想是计算一个特定序列的和,并将结果乘以5。这个特定序列的每一项都是前一项乘以它的序号。通过一个外循环和一个内循环,程序计算了这个序列的和,然后将结果存储在变量sum中,最后将sum乘以5并输出。总的来说并不难!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/850189
推荐阅读
相关标签
  

闽ICP备14008679号