当前位置: 首页 > news >正文

解析网站东莞网站建设方案外包

解析网站,东莞网站建设方案外包,洛阳新光建站系统,爱给网官网免费素材原题: 有一100阶层的楼梯,有三种走楼梯方式,一次走一阶,一次走两阶,一次走三阶。用算法实现,走完100阶总共有多少种走法 解答: f(n)f(n-1)f(n-2)f(n-3) 有两个要点:1&…

原题:

有一100阶层的楼梯,有三种走楼梯方式,一次走一阶,一次走两阶,一次走三阶。用算法实现,走完100阶总共有多少种走法

解答:

f(n)=f(n-1)+f(n-2)+f(n-3)

有两个要点:1,结果大于int32,需要用到高精度。 2,直接递归会有大量重复运算,需要缓存每一步的结果

 

 
  1. #include "stdio.h" 
  2.  
  3. void addCache(char count[], char d[]); 
  4. void reverse(int index); 
  5. void lastMove(int stepOver); 
  6.  
  7. char result[100]; 
  8. char cache[101][100]; 
  9.  
  10. void main() 
  11.     for (int i = 0; i < 101; i++) 
  12.     { 
  13.         cache[i][0] = 0; 
  14.         for (int j = 1; j < 100; j++) 
  15.         { 
  16.             cache[i][j] = 0; 
  17.         } 
  18.     } 
  19.     cache[0][0] = '0'
  20.     cache[1][0] = '1'
  21.     cache[2][0] = '2'
  22.     cache[3][0] = '4'
  23.  
  24.     int floor = 100; 
  25.     lastMove(floor); 
  26.  
  27.     reverse(floor); 
  28.     printf("total: %s", result); 
  29.  
  30. void lastMove(int stepOver) 
  31.     if (stepOver > 3) 
  32.     { 
  33.         for (int i = 1; i <= 3; i++) 
  34.         { 
  35.             int index = stepOver - i; 
  36.             if (cache[index][0] == 0)//not cached 
  37.             { 
  38.                 lastMove(index); 
  39.             } 
  40.             addCache(cache[stepOver], cache[index]); 
  41.         } 
  42.          
  43.     }  
  44.     else 
  45.     { 
  46.         printf("error\n"); 
  47.     } 
  48.  
  49. void addCache(char count[], char d[]) 
  50.     int j = 0; 
  51.     while (d[j] != 0) 
  52.     { 
  53.         int in = d[j] - '0'
  54.         for (int i = j; i < 100; i++) 
  55.         { 
  56.             if (in == 0) 
  57.             { 
  58.                 break
  59.             } 
  60.             if (count[i] == '\0'
  61.             { 
  62.                 count[i] = '0'
  63.             } 
  64.              
  65.             int curNum = count[i] - '0' + in; 
  66.             if (curNum > 9) 
  67.             { 
  68.                 in = curNum / 10; 
  69.                 curNum -= in * 10; 
  70.             } 
  71.             else 
  72.             { 
  73.                 in = 0; 
  74.             } 
  75.             count[i] = curNum + '0'
  76.         } 
  77.          
  78.         j++; 
  79.     } 
  80.      
  81.  
  82. void reverse(int index) 
  83.     int length = 0; 
  84.     for (int i = 0; i < 100; i++) 
  85.     { 
  86.         if (cache[index][i] == 0) 
  87.         { 
  88.             length = i; 
  89.             break
  90.         } 
  91.     } 
  92.      
  93.     for (i = 0; i < length; i++) 
  94.     { 
  95.         result[length - 1 - i] = cache[index][i]; 
  96.     } 
  97.     result[length] = 0; 

 


本文转自 dogegg250 51CTO博客,原文链接:http://blog.51cto.com/jianshusoft/620918,如需转载请自行联系原作者

http://www.lbrq.cn/news/2575225.html

相关文章:

  • 网站 动画 怎么做的百度手机助手app下载官网
  • 多人一起做视频网站bt磁力搜索器
  • 公司专业设计网站整合营销是什么
  • 网站开发 用什么框架宁波网站制作优化服务公司
  • 驻马店哪里做网站指数型基金是什么意思
  • 图片存放网站做链接谷歌账号注册入口官网
  • 中国十大网站建设企业整合营销传播的六种方法
  • 政府网站用什么cms旺道网站优化
  • 如何创建一个网络平台seo超级外链发布
  • 武汉网站建站免费关键词排名优化
  • 企业网站哪家做的好陕西网站设计
  • 通辽做网站苹果要做搜索引擎
  • 广州微网站建设市场百度关键词seo推广
  • 简单的个人网站万能优化大师下载
  • 网站建设服务便宜seo相关ppt
  • 物流网站建设规划书自己开网站怎么开
  • 做淘宝客需要建网站吗sem账户托管公司
  • 做网站的公司地址搜索排行榜
  • 网站商城与网站区别搜索引擎优化教材答案
  • 合肥网站建设电话咨询网站生成
  • 朝阳市城乡建设委员会网站和福州短视频seo获客
  • 某网站建设策划方案快速网站推广公司
  • 微信上优惠券的网站怎么做的如何建立网站平台的步骤
  • 做简单网站后端需要学什么国内军事新闻最新消息
  • 贵阳做网站 优帮云宁波seo推广优化哪家强
  • 网站做视频播放占用cpu吗网络营销特点
  • 有哪几种语言做的网站培训心得体会1000字通用
  • 网站建设入门seo自然排名
  • 江宁网站建设价位安全优化大师
  • 网站如何测试有无未做链接的文件福州seo网址优化公司
  • Python切片命名技术详解:提升代码可读性与维护性的专业实践
  • CVE-2025-5947 漏洞场景剖析
  • 一个网页的加载过程详解
  • [硬件电路-148]:数字电路 - 什么是CMOS电平、TTL电平?还有哪些其他电平标准?发展历史?
  • C语言数据结构(7)贪吃蛇项目2.贪吃蛇项目实现
  • 防御综合实验