循环习题—阶乘以及阶乘相加

简介: 循环习题—阶乘以及阶乘相加

1 计算n的阶乘

1.输入n   2.1*2*3*……*n   3.打印结果

代码1展示:(for循环)

1. #include <stdio.h>
2. int main()
3. {
4.  int n = 0;
5.  int i = 1;
6.  int b = 1;
7.  scanf("%d", &n);
8.  for (i = 1; i <= n; i++)
9.  {
10.     b = b * i;
11.   }
12.   printf("%d ", b);
13.   return 0;
14. }

代码2展示:(while循环)

1. #include <stdio.h>
2. int main()
3. {
4.  int n = 0;
5.  int i = 1;
6.  int b = 1;
7.  scanf("%d", &n);
8.  while (i <= n)
9.  {
10.     b = b * i;
11.     i++;
12.   }
13.   printf("%d ", b);
14.   return 0;
15. }

代码3展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int n = 0;
5.  int i = 1;
6.  int b = 1;
7.  scanf("%d", &n);
8.  do
9.  {
10.     b = b * i;
11.     i++;
12.   } while (i <= n);
13.   printf("%d", b);
14.   return 0;
15. }

2 计算1!+2!+3!+4!+5!+6!+7!+8!+9!+10!

阶乘相加

代码1展示:(易错点,b每次都要初始化)

1. #include <stdio.h>
2. int main()
3. {
4.  int n = 0;
5.  int i = 1;
6.  int b = 1;
7.  int j = 1;
8.  int sum = 0;
9.  for (j = 1; j <= 10; j++)
10.   {
11.     int b = 1;
12.     for (i = 1; i <= j; i++)
13.     {
14.       b = b * i;
15.     }
16.     sum = sum + b;
17.   }
18.   printf("%d", sum);
19.   return 0;
20. }

代码2展示:(不容易想出来,多看看这个代码)

1. #include <stdio.h>
2. int main()
3. {
4.  int n = 0;
5.  int b = 1;
6.  int j = 1;
7.  int sum = 0;
8.  for (j = 1; j <= 10; j++)
9.  {
10.     b = b * j;
11.     sum = sum + b;
12.   }
13.   printf("%d", sum);
14.   return 0;
15. }


相关文章
|
25天前
|
机器学习/深度学习
阶乘
【10月更文挑战第20天】阶乘。
14 4
|
6月前
|
算法 C++
C++求阶乘的深入探索
C++求阶乘的深入探索
182 0
|
6月前
|
存储 程序员 C语言
利用循环结构实现数字的阶乘计算
利用循环结构实现数字的阶乘计算
62 0
|
6月前
|
C语言
求阶乘之和
【1月更文挑战第18天】C语言实例——求阶乘之和。
42 3
|
11月前
|
算法 测试技术 C#
C++二分查找算法:阶乘函数后 K 个零
C++二分查找算法:阶乘函数后 K 个零
|
机器学习/深度学习
1173:阶乘和
1173:阶乘和
用for循环求数的阶乘
用for循环求数的阶乘
129 0
|
机器学习/深度学习 算法
使用递归方法和for循环方法求阶乘
使用递归方法和for循环方法求阶乘
146 0
|
算法 程序员 C语言
C语言基础(有关三个数比较大小、冒泡排序、最大公约数、和有关某个数x的绝对值的n次方除于n的阶乘问题的函数求解法;和阶乘函数递归方法;和数组作函数参数的
C语言基础(有关三个数比较大小、冒泡排序、最大公约数、和有关某个数x的绝对值的n次方除于n的阶乘问题的函数求解法;和阶乘函数递归方法;和数组作函数参数的