holyya.com
2025-09-04 15:18:32 Thursday
登录
文章检索 我的文章 写文章
c语言实现1!+2!+3!+ +n!的求和
2023-06-15 18:50:40 深夜i     --     --
c语言 阶乘 递归

在 c 语言中,要计算 1!+2!+3!+...+n! 的和,可以通过使用循环和递归两种方式来实现。

循环方式:

使用循环方式实现该计算需要用到 for 循环,具体实现如下:


// 循环方式实现

#include

int main()

{

  int n;

  long long int sum = 0;

  long long int fac = 1;

  printf("请输入一个整数:");

  scanf("%d", &n);

  for (int i = 1; i <= n; i++)

  {

    fac *= i;

    sum += fac;

  }

  printf("%d!+ %d!+...+ %d! 的和为 %lld", 1, 2, n, sum);

  return 0;

}

递归方式:

使用递归方式实现该计算需要用到函数,具体实现如下:


// 递归方式实现

#include

long long int sum(int n)

{

  if (n == 1)

  

    return 1;

  

  return sum(n - 1) + (long long int)pow(n, n);

}

int main()

{

  int n;

  printf("请输入一个整数:");

  scanf("%d", &n);

  printf("%d!+ %d!+...+ %d! 的和为 %lld", 1, 2, n, sum(n));

  return 0;

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复