学习打卡 1-26

//循环法求斐波那契数
int feibo(int n)
{
    int a = 1;
    int b = 1;
    int c = 1;
    while (n > 2)
    {
        c = a + b;
        a = b;
        b = c;
        n--;
    }
    return c;
}

//递归法求斐波那契数(效率低下)
//int feibo(int n)
//{
//  if (n <= 2)
//  {
//      return 1;
//  }
//  else
//      return feibo(n - 1) + feibo(n - 2);
//}

int main()
{

    int n = 0;
    scanf("%d", &n);
    int ret = feibo(n);
    printf("第%d个斐波那契数列值=%d\n",n, ret);
    return 0;
}
用递归求N!
int Fac2(int n)
{
    int i = 0;
    int ret = 1;
    for (i = 1; i <= n; i++)
    {
        ret *= i;
    }
    return ret;
}

//int Fac1(n)
//{
//  if (n == 1)
//  {
//      return 1;
//  }
//  else
//  {
//      return n*Fac1(n - 1);
//  }
//}

int main()
{
    int n = 0;
    int ret = 0;
    scanf("%d", &n);
    ret = Fac1(n);
    printf("%d\n", ret);

    return 0;
}
递归初步理解
int my_strlen(char* str)
{
    if (*str != '\0')
        return 1 + my_strlen(str + 1);
    else
        return 0;
}

int main()
{
    char arr[] = "bit";
    int len = my_strlen(arr);
    printf("len=%d\n",len);
    return 0;
}
上一篇:利用指针求字符串个数


下一篇:C++实现异或加密