求解 s = (1*1)!+(2*2)! + (3*3)!+...+(n*n)! (C语言)

提示:定义函数可以求阶乘,再定义函数求阶乘之和。1和0的阶乘是1,n(n > 1)的阶乘是n * (n-1) * (n - 2) * … * 1

//采用了函数嵌套调用和函数递归调用

1 //求解阶乘
2 int factorial(int n){
3     if(n == 0 || n == 1){
4         return 1;
5     }else{
6         return n * factorial(n - 1);
7     }
8 }
1 //求解s = (1*1)!+(2*2)! + (3*3)!
2 int squareOfTheFactorial(int n){
3     if(n == 1 || n == 0){
4         return 1;
5     }else{
6         return factorial(n * n) + squareOfTheFactorial(n - 1);
7     }
8 }
时间: 2024-10-27 02:42:38

求解 s = (1*1)!+(2*2)! + (3*3)!+...+(n*n)! (C语言)的相关文章

应用栈求解迷宫问题(C++实现)

栈是数据结构中一种重要的线性结构,限定仅在表尾进行插入和删除操作的线性表,因此我们也可以认为它是一种特殊的线性表.由于栈的这个特点,我们又可以称其为后进先出的结构.如图所示: 由于栈具有后进先出的性质我们可以利用,是程序设计中一个有用的工具.利用栈我们可以来实现数制转换.后缀表达式求值.迷宫求解等等.在书本上我们可以看到用C语言实现的简单思路,但是程序仍旧存在许多bug.今天,我想尝试用强大的C++来实现. 迷宫问题的求解思路大致则是从入口出发,顺着某一方向向前探索,若能走通,则继续向前探索:若

C语言值基本算法43—总结

C程序的基本算法共涵盖42个例题,包含了枚举.排列.逻辑判断.迭代.递推.字符串操作.矩阵操作.格式输出等内容. 相关的实现方法有的显得很笨拙,但足够说明问题,而且每个程序都经过作者亲测,保证可以运行.之所以称之为基本算法,就是为了测试基础知识的掌握,都是从原始的角度进行处理,没有运用过于花哨的处理技巧,作者也是在学习中进步,也希望这些代码对于没有基础或者基础薄弱的朋友带来帮助. 至此,基本知识就掌握了,我们常常会听说C的强大,因为它是面向过程的,在数学领域具有极好的应用,有必要进行进一步的学习

1987年国际C语言混乱代码大赛获奖的一行代码

macb() ? lpcbyu(&gbcq/_\021%ocq\012\0_=w(gbcq)/_dak._=}_ugb_[0q60)s+ 这是CoolShell博主之前做了一个很有意思的在线puzzle,仿照一些前端过关的游戏,做了几个和程序员有关的迷题,一个通关游戏,这个事测试的第二题.并为通关的前十名送上<Unix环境高级编程(第三版)>(感谢@出版圈郭志敏 赞助)或一个马克杯(感谢@linux命令行精选网 赞助))这些谜题很有趣同时也有一定的难度.由于水平有限,我并没有通关,但我

模式匹配算法KMP

1. kmp算法要解决什么问题 有两个字符串str1和str2,现在要求查找str1中是否包含和str2相同的子串,如果存在,返回str1中子串的起始索引,如果没有,返回-1. 2. 暴力的解法 比如str1为 abcabcqwerty str2为 abcq 暴力解法为: 首先,将str1和str2起始位置"对齐" a b c a b c q w e r t y a b c q 然后逐个字符比较.发现在str1[3]和str2[3]位置处发生了不匹配. 于是将str2的起始位置向后错开

个人项目_1120161935

Github地址:https://github.com/wln772777917/------- PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 5 10 · Estimate · 估计这个任务需要多少时间 5 10 Development 开发 · Analysis · 需求分析 (包括学习新技术) 120 1000 · Design Spec · 生成设计文档 30 60 · Design

matlab的优缺点

MATLAB的优缺点MATLAB是一套功能强大的工程计算软件,被广泛的应用于自动控制.机械设计.流体力学和数理统计等工程领域.工程技术人员通过使用MATLAB提供的工具箱,可以高效的求解复杂的工程问题,并可以对系统进行动态的仿真,用强大的图形功能对数值计算结果进行显示.MATLAB是必备的计算与分析软件之一,也是研究设计部门解决工程计算问题的重要工具.MATLAB语言的主要特点有:1.编程效率高MATLAB语言是一种面向科学与工程计算的高级语言,允许用数学形式的语言编写程序,且比C语言等更加接近

Spec2006使用说明

Spec2006使用说明 五 10 十月 2014 By penglee 工具介绍 SPEC CPU 2006 benchmark是SPEC新一代的行业标准化的CPU测试基准套件.重点测试系统的处理器,内存子系统和编译器.这个基准测试套件包括的SPECint基准和SPECfp基准. 其中SPECint2006基准包含12个不同的基准测试和SPECfp2006年基准包含19个不同的基准测试.SPEC设计了这个套件提供了一个比较标准的计算密集型,高性能的跨硬件的CPU测试工具.在SPEC CPU 2

LINGO简易教程

1.LINGO是用来求解线性和非线性优化问题的简易工具.LINGO内置了一种建立 最优化模型的语言,可以简便地表达大规模问题,LINGO高效的求解器可快速求解并 分析结果. 2.集是LINGO建模语言的基础,是程序设计最强有力的基本构件.借助于集, 能够用一个单一的.长的.简明的复合公式表示一系列相似的约束,从而可以 快速方便地表达规模较大的模型. 3.在LINGO模型中使用集之前,必须在集部分事先定义.集部分以关键字“sets:”开始,以“endsets”结束.一个模型可以没有集部分,或有一个

Kosaraju算法解析: 求解图的强连通分量

1. 定义 连通分量:在无向图中,即为连通子图. 上图中,总共有四个连通分量.顶点A.B.C.D构成了一个连通分量,顶点E构成了一个连通分量,顶点F,G和H,I分别构成了两个连通分量. 强连通分量:有向图中,尽可能多的若干顶点组成的子图中,这些顶点都是相互可到达的,则这些顶点成为一个强连通分量. 上图中有三个强连通分量,分别是a.b.e以及f.g和c.d.h. 2. 连通分量的求解方法 对于一个无向图的连通分量,从连通分量的任意一个顶点开始,进行一次DFS,一定能遍历这个连通分量的所有顶点.所以