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

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

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. }


相关文章
|
运维 Cloud Native 前端开发
如何解决 503 Service Temporarily Unavailable?
如何解决 503 Service Temporarily Unavailable?
1947 0
|
异构计算 内存技术
FPGA - 7系列 FPGA内部结构之SelectIO -08- 高级逻辑资源之OSERDESE2(二)
FPGA - 7系列 FPGA内部结构之SelectIO -08- 高级逻辑资源之OSERDESE2
711 0
FPGA - 7系列 FPGA内部结构之SelectIO -08- 高级逻辑资源之OSERDESE2(二)
|
JSON JavaScript 前端开发
Vue项目使用mock数据的几种方式
Vue项目使用mock数据的几种方式
|
5月前
|
API 开发者 Python
深入研究:1688商品跨境属性API接口详解
本文介绍了如何通过 1688 商品跨境属性 API 获取商品的跨境相关数据,助力企业开展电商业务。文章分为三部分:引言阐述了接口的重要性及应用场景;接口概述详细说明了调用步骤,包括参数准备、签名生成、请求发送和响应处理;Python 请求示例提供了一个完整的代码实现,帮助开发者快速上手。示例代码涵盖了请求参数配置、签名生成逻辑以及使用 requests 库发送请求的过程,为实际应用提供了参考。
165 13
|
9月前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
309 3
|
10月前
|
边缘计算 监控 自动驾驶
揭秘云计算中的边缘计算:架构、优势及应用场景
揭秘云计算中的边缘计算:架构、优势及应用场景
|
算法 自动驾驶 物联网
解读蜂窝网络中的频谱共享技术
解读蜂窝网络中的频谱共享技术
437 5
|
11月前
|
光互联
常见网络电缆类型详解
【10月更文挑战第14天】
312 0
|
设计模式 前端开发 Java
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
357 1
|
网络协议 Java Windows
打造个人的Minecraft服务器:Java+cpolar实现我的世界联机游戏
打造个人的Minecraft服务器:Java+cpolar实现我的世界联机游戏
670 0