05.C(递归函数)

简介: (创建于2017/8/16)1.前置递归和后置递归前置是倒叙,后置是正序2.递归十进制转二进制#include#includeint to2(int n){ int i = n % 2; if (n>0) ...

(创建于2017/8/16)

1.前置递归和后置递归
前置是倒叙,后置是正序

2.递归十进制转二进制

#include<stdio.h>
#include<string.h>

int to2(int n)
{
    
    int i = n % 2;
    if (n>0)
    {
        printf("%d\n", i);
        to2(n / 2);
        
    }
}

int main() 
{
    to2(11);
}

3.递归求字符串长度

#include<stdio.h>
#include<string.h>

int getstrlen(char s[], int n)
{
    if (s[n])      //以第n个位置的元素是否为0作为递归结束你的标记
    {
        return getstrlen(s, n + 1);
    }
    else
    {
        return n;
    }
}

int main() 
{
    char s[] = "renzhenmingshigehaoren";
    printf("长度是:%d\n",getstrlen(s, 0));
}

4.递归求斐波那契数列中某一个index的值

#include<stdio.h>
#include<string.h>
//斐波那契数列,0,1开头,后边的规律是每个数字等于前两个数字的和
int fib(int m) {
    if (m == 0)
    {
        return 0;
    }
    else if (m == 1)
    {
        return 1;
    }
    else
    {
        return fib(m - 1) + fib(m-2);
    }
}
int main() 
{
    printf("斐波那契数列中第%d个数是:%d\n",6,fib(6));
}
相关文章
|
4月前
什么是递归函数?怎样实现递归?
什么是递归函数?怎样实现递归?
|
4月前
|
C++
C++程序中的函数递归调用
C++程序中的函数递归调用
43 1
|
27天前
|
缓存 算法 Java
递归函数
递归函数
27 1
|
1月前
|
Go
用递归函数实现康托尔集
用递归函数实现康托尔集
27 2
|
1月前
|
搜索推荐 开发者 Python
递归调用
递归调用
|
3月前
函数\递归函数求阶乘
函数\递归函数求阶乘
25 3
|
4月前
|
算法
递归函数实现素数判断
该文介绍了素数判断的递归实现,尽管递归算法在判断素数上并不高效,时间复杂度和空间复杂度均为O(N),但作为学习和理解递归的一种方式,仍有其价值。文章强调在实际应用中应选择更高效的方法。递归思路基于试除法,对于大于1的整数,如果只能被1和自身整除,则为素数。递归函数通过不断试除2到根号下该数之间的数来判断,同时注意到偶数不是素数。文中给出了非递归和递归的试除法代码示例。
73 2
|
4月前
|
算法 C语言
C语言中的递归调用与递归函数
C语言中的递归调用与递归函数
92 0
|
4月前
|
算法 Serverless Python
函数的递归调用
在编程中,递归是一种非常强大的技术,它允许函数直接或间接地调用自身。递归调用使得某些问题的解决变得简单而优雅,尤其是那些具有自然分治结构的问题。本文将介绍函数的递归调用概念,并通过示例代码展示其应用。
30 1
|
机器学习/深度学习
递归函数问题
递归函数问题
57 0