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));
}
相关文章
C4.
|
7月前
|
C语言
C语言函数的递归调用
C语言函数的递归调用
C4.
115 0
|
7月前
什么是递归函数?怎样实现递归?
什么是递归函数?怎样实现递归?
104 0
|
7月前
|
C++
C++程序中的函数递归调用
C++程序中的函数递归调用
88 1
|
4月前
|
缓存 算法 Java
递归函数
递归函数
85 1
|
4月前
|
Go
用递归函数实现康托尔集
用递归函数实现康托尔集
50 2
|
6月前
函数\递归函数求阶乘
函数\递归函数求阶乘
70 3
|
7月前
|
算法
递归函数实现素数判断
该文介绍了素数判断的递归实现,尽管递归算法在判断素数上并不高效,时间复杂度和空间复杂度均为O(N),但作为学习和理解递归的一种方式,仍有其价值。文章强调在实际应用中应选择更高效的方法。递归思路基于试除法,对于大于1的整数,如果只能被1和自身整除,则为素数。递归函数通过不断试除2到根号下该数之间的数来判断,同时注意到偶数不是素数。文中给出了非递归和递归的试除法代码示例。
140 2
|
7月前
|
算法 C语言
C语言中的递归调用与递归函数
C语言中的递归调用与递归函数
124 0
|
算法 测试技术 C#
C++二分查找算法:阶乘函数后 K 个零
C++二分查找算法:阶乘函数后 K 个零
|
算法
递归函数(详解+实战)
递归函数(详解+实战)
下一篇
DataWorks