首页 > 其他分享 >daily study 4

daily study 4

时间:2022-12-29 17:00:11浏览次数:35  
标签:return int study ret Fib daily printf scanf

在递归的基础上学习迭代。

#include<stdio.h>

//求n的阶乘

int Facl(int n)//循环方式实现求n的阶乘

{

int i = 0;

int ret = 1;

for (i = 1; i <= n; i++)

 ret *= i;

}

int main()

{

int n = 0;

int ret = 0;

scanf("%d", &n);

ret = Facl(n);

printf("%d\n", ret);

return 0;

}

int Facl2(int n)//用递归的方法求阶乘

//{

// if (n <= 1)

//  return 1;

// else

//  return n * Facl2(n - 1);

//}

//int main()

//{

// int n = 0;

//  int ret = 0;

//  scanf("%d", &n);

//  ret = Facl2(n);

//  printf("%d\n", ret);

//  return 0;

// return 0;

//}

//求斐波那契数列

int Fib(int n)

{

if (n <= 2)

 return 1;

else

 return Fib(n - 1) + Fib(n - 2);

}

int main()

{

int n = 0;

scanf("%d", &n);

ret = Fib(n);

printf("ret = %d\n", ret);

return 0;

}

此程序计算较大的斐波那契数列时耗时非常大,电脑需要较长时间才能计算出结果,非常浪费效能。对于一个数重复计算非常多次。因此,此程序用递归是不合理的。

改正:

#include<stido.h>

int Fib(int n)

{

int a = 1, b = 1, c = 1;

while (n>2)

{

 c = a + b;

 a = b;

 b = c;

 n--;

}

return c;

}

int main()

{

int n = 0;

int ret;

scanf("%d", &n);

ret = Fib(n);

printf("ret = %d\n", ret);

return 0;

}

研究汉诺塔问题和青蛙跳台阶问题(未解决);

标签:return,int,study,ret,Fib,daily,printf,scanf
From: https://blog.51cto.com/u_15918782/5978545

相关文章

  • 虚假新闻检测(CANMD)《Contrastive Domain Adaptation for Early Misinformation Detect
    论文信息论文标题:ContrastiveDomainAdaptationforEarlyMisinformationDetection:ACaseStudyonCOVID-19论文作者:ZhenruiYue,HuiminZeng,ZiyiKou,LanyuS......
  • daily study 4
    学习函数与递归(1)函数自己调用自己的一种方法,用简单的方法把复杂化简单,层层转化为简单的代码,大事化小常见问题:栈溢出。(stackoverflow)内存分为:栈区:局部变量,函数形参堆区:动态......
  • windows PHPStudy Apach…
    在设置Apache+SSL之前,需要做:安装Apache,下载安装Apache时请下载带有ssl版本的Apache安装程序.并且ssl需要的文件在如下的位置: 创建SSL证书(注意,我下载的是PHP......
  • daily study 3
    函数的调用:1传值调用:函数的形参实参分别占有不同内存块2,对形参的修改不会影响实参。2.传址调用:把函数外部穿件变量的内存地址传递给函数的一种调用,可以让函数和外边的变量真......
  • daily study 3
    学习goto语句,可以直接跳到需要的位置。学习函数,分为库函数和自定函数,学习函数的参数,调用,嵌套调用和链式调用,函数的声明和定义,函数的递归c语言库函数:io函数,字符串操作函数,字......
  • daily study
    1.编写猜数字游戏:电脑生成随机数,猜对猜大猜小都有提示,可以反复玩。使用dowhile语句,先执行一次,再判断是否继续游玩。#include<stdio.h>#include<stdlib.h>#include<time.h......
  • the third study--2022.12.20
    提高程序可读性的四个技巧1.选择有意义的函数名。(例如:身高--height;体重--weight;英寸--foot等等)2.写注释。当有些函数名不好解释时,可以通过在旁边写注释来进行解释;也可......
  • Study in campus
    TheyareexperiencingsomethingverydifferentfromthetraditionalfactorymodelofAmericaneducation,inwhicheveryoneontheassemblylineisdeliveredth......
  • 给iOS工程增加Daily Build
    前言DailyBuild是一件非常有意义的事情,也是敏捷开发中关于“持续集成”的一个实践。DailyBuild对于开发来说有如下好处:保证了每次checkin的代码可用,不会造成整个工程编译......
  • 本地如何使用phpstudy环境搭建多站…
    默认情况下,phpStudy的站点根目录是在它自己的WWW目录,比如F:\phpStudy\WWW,访问的地址可以是​​http://127.0.0.1/​​  或​​http://localhost/​​下面我们要实现的是创......