求1+2!+3!+…+20!的和

简介: 求1+2!+3!+…+20!的和

下面我将分别用C语言和Python来编写计算1+2!+3!+...+20!的和的程序。


C语言版本


C语言中没有直接的阶乘函数,所以我们需要自己编写一个计算阶乘的函数。


c复制代码
 #include <stdio.h>  
 
   
 
 // 计算阶乘的函数  
 
 long long factorial(int n) {  
 
     long long result = 1;  
 
     for (int i = 2; i <= n; i++) {  
 
         result *= i;  
 
     }  
 
     return result;  
 
 }  
 
   
 
 int main() {  
 
     long long sum = 0;  
 
     for (int i = 1; i <= 20; i++) {  
 
         sum += factorial(i);  
 
     }  
 
     printf("1+2!+3!+...+20!的和是: %lld\n", sum);  
 
     return 0;  
 
 }



注意:这里使用long long类型来存储阶乘的结果和总和,因为阶乘很快就会超出int类型的范围。


Python版本


Python有内置的函数math.factorial()可以直接计算阶乘,但是为了演示,我们仍然可以自己编写一个计算阶乘的函数。


python复制代码
 def factorial(n):  
 
     result = 1  
 
     for i in range(2, n + 1):  
 
         result *= i  
 
     return result  
 
   
 
 # 计算1+2!+3!+...+20!的和  
 
 sum_of_factorials = sum(factorial(i) for i in range(1, 21))  
 
 print(f"1+2!+3!+...+20!的和是: {sum_of_factorials}")



Python的简洁性在这里得到了很好的体现,我们可以直接使用列表推导式和sum()函数来计算整个序列的和。同时,Python的整数类型会自动处理大数,所以不需要担心整数溢出的问题。


这两个示例展示了如何在C语言和Python中处理这类问题。在实际应用中,根据问题的规模和语言的特性选择合适的方法。


image.png

相关文章
|
3天前
|
人工智能 开发框架 Java
重磅发布!AI 驱动的 Java 开发框架:Spring AI Alibaba
随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发。同时,提供了完整的开源配套,包括可观测、网关、消息队列、配置中心等。
286 5
|
3天前
|
数据挖掘 数据处理 索引
python 读取数据存为csv
在Python中,读取数据并将其保存为CSV(逗号分隔值)文件是一种常见的操作,特别适用于数据分析和数据科学领域。这里将展示如何使用Python的内置库`csv`和流行的数据处理库`pandas`来完成这项任务。 ### 使用`csv`模块 如果你正在处理的是简单的文本数据或者需要更低层次的控制,可以使用Python的`csv`模块。以下是一个基本示例,演示如何将数据写入CSV文件: ```python import csv # 假设这是你要写入CSV的数据 rows = [ ["Name", "Age", "City"], ["Alice", 24, "New Yor
57 35
|
3天前
|
数据采集 机器学习/深度学习 算法
【BetterBench博士】2024年华为杯E题:高速公路应急车道紧急启用模型 Python代码实现
本文介绍了2024年“华为杯”中国研究生数学建模竞赛的选题分析,重点讨论了高速公路应急车道启用模型的问题。文章详细描述了如何使用YOLOv5和SORT算法进行车辆检测与跟踪,计算车流密度、流量及速度,并利用随机森林回归预测交通拥堵。此外,还提出了多情景动态分析和虚拟应急车道控制策略,以及优化数据采集点布置的方法。提供了完整的Python代码和B站视频教程链接,帮助读者深入理解并实践该模型。
75 6
【BetterBench博士】2024年华为杯E题:高速公路应急车道紧急启用模型 Python代码实现
|
3天前
|
存储 物联网 区块链
探索未来科技浪潮之巅:区块链、物联网与虚拟现实的融合与创新
【8月更文挑战第54天】在数字化时代的洪流中,新技术如区块链、物联网(IoT)和虚拟现实(VR)正引领着一场前所未有的技术革命。本文将深入探讨这些技术的发展趋势,以及它们如何相互交织,创造出新的应用场景和商业模式。我们将从基础概念出发,逐步揭示这些技术如何改变我们的工作、生活和娱乐方式,同时提供代码示例以加深理解。让我们一起踏上这场激动人心的技术之旅。
50 32
|
3天前
|
机器学习/深度学习 数据采集 算法
【BetterBench博士】2024华为杯C题:数据驱动下磁性元件的磁芯损耗建模 Python代码实现
本文介绍了2024年中国研究生数学建模竞赛C题的详细分析,涵盖数据预处理、特征提取、模型训练及评估等多个方面。通过对磁通密度数据的处理,提取关键特征并应用多种分类算法进行波形分类。此外,还探讨了斯坦麦茨方程及其温度修正模型的应用,分析了温度、励磁波形和磁芯材料对磁芯损耗的影响,并提出了优化磁芯损耗与传输磁能的方法。最后,提供了B站视频教程链接,供进一步学习参考。
76 3
【BetterBench博士】2024华为杯C题:数据驱动下磁性元件的磁芯损耗建模 Python代码实现
|
3天前
制作一个网站需要多少费用?
在互联网发达的时代,网站已经成为企业、单位在互联网上的明信片,可是很多人都不知道怎么样进行这个网站的搭建,同时网站搭建需要产生哪些费用。
36 13
|
3天前
|
存储 SQL 专有云
支持配置审计日志的存储数据库
审计日志作为企业监管平台的重要依据,同时也是“等保三级”认证的必要考察项之一。Dataphin V4.3版本支持设置平台日志的存储数据源,帮助用户快速获取审计日志,同时介绍了不同部署模式的Dataphin如何查看审计日志的方法。
|
6天前
|
XML Java Android开发
FFmpeg开发笔记(五十二)移动端的国产视频播放器GSYVideoPlayer
GSYVideoPlayer是一款国产移动端视频播放器,支持弹幕、滤镜、广告等功能,采用IJKPlayer、Media3(EXOPlayer)、MediaPlayer及AliPlayer多种内核。截至2024年8月,其GitHub星标数达2万。集成时需使用新版Android Studio,并按特定步骤配置依赖与权限。提供了NormalGSYVideoPlayer、GSYADVideoPlayer及ListGSYVideoPlayer三种控件,支持HLS、RTMP等多种直播链接。
41 18
FFmpeg开发笔记(五十二)移动端的国产视频播放器GSYVideoPlayer
|
3天前
|
Python
python获取字符串()里面的字符
在Python中,如果你想获取字符串中括号(比如圆括号`()`、方括号`[]`或花括号`{}`)内的字符,你可以使用正则表达式(通过`re`模块)或者手动编写代码来遍历字符串并检查字符。 这里,我将给出使用正则表达式的一个例子,因为它提供了一种灵活且强大的方式来匹配复杂的字符串模式。 ### 使用正则表达式 正则表达式允许你指定一个模式,Python的`re`模块可以搜索字符串以查找匹配该模式的所有实例。 #### 示例:获取圆括号`()`内的内容 ```python import re def get_content_in_parentheses(s): # 使用正则表达
58 36
|
3天前
|
API 网络架构 UED
构建RESTful API的最佳实践
【8月更文挑战第54天】在数字化时代,RESTful API已成为连接不同软件系统、提供数据服务的关键桥梁。本文将深入探讨如何构建高效、可维护的RESTful API,涵盖设计原则、安全策略和性能优化等关键方面。通过具体代码示例,我们将一步步展示如何实现一个简洁、直观且功能强大的API。无论你是新手还是有经验的开发者,这篇文章都将为你提供宝贵的指导和启示。
50 33