一、数学知识
1.对数
![]()
2.级数
3.模运算
4.证明方法
①归纳法

②反证法
二、递归
1.定义
当一个函数用它自己来定义时就成为是递归的(recursive)
2.基本准则
①基准情形base case:必须有某些基准的情形,它们不用递归就能求解。
②不断推进making progress:递归调用必须能够朝着产生基准情形的方向推进。
③设计法则design rule:所有的递归调用都能运行。
④合成效益法则compound interest rule:在求解一个问题的同一实例时,切勿在不同的递归调用中做重复性工作。
3.递归实例
①数学表达式
#include <stdio.h>
int F(int X)
{
if (X == 0)
return 0;
else
return 2 * F(X - 1) + X * X;
}
int main()
{
printf("%d", F(3));
}
递归实际上就类似于数学里的函数表达式,比如这里就是

②打印输出数
#include <stdio.h>
void PrintDigit(int N)
{
printf("%d", N);
}
void PrintOut(unsigned int N)
{
if (N >= 10)
PrintOut(N / 10);
PrintDigit(N % 10);
}
int main()
{
PrintOut(3234);
}
这里假装PrintDigit只能输出一个数字。这里通过递归实现输出多位数。
文章探讨了数学中的对数、级数和模运算等基础知识,重点讲解了递归的概念,包括定义、基本准则如基准情形、不断推进、设计法则和合成效益法则,并通过两个递归实例——计算数学表达式和打印输出数——展示了递归在编程中的应用。
157

被折叠的 条评论
为什么被折叠?



