1兔子算法题

兔子可以跳一步2步或者3步,问跳到100有多少种跳法?

//        兔子可以跳一步2步或者3步
// 问跳到100有几种跳法 /*
分析1 两个变量,X*2+Y*3=100. X最大为50,X最小为2 Y最大为32.最小为0
分析2 某个情景分析:假设X=35,Y为10时,
虽然知道了数量,但是兔子的35小步,和10大步的顺序是怎样的?
应为组合-> 45个节点中,选择10个放三步的。那就是简单的C(45 10).变成阶乘,就解得出来。
*/
double temp=0.0f;
for (int x=2; x<=50; x++) {//遍历1
for (int y=0;y<=32 ; y++) {//遍历2
if (x*2+y*3==100) { // NSLog(@"两步%d次 三步%d次 \n",x,y);
double fenzi=1; //阶乘分子
fenzi=[JieCheng jieCheng:(x+y)];
double fenmu1=1; //阶乘分母1
fenmu1=[JieCheng jieCheng:x];
double fenmu2=1; //阶乘分母2
fenmu2=[JieCheng jieCheng:y]; temp+=fenzi/(fenmu1*fenmu2); NSLog(@"在两步%d次,三步%d次的情境下,一共 C(%d,%d)->%f中组合方式:\n",x,y,(x+y),y,fenzi/(fenmu1*fenmu2)); }
} }
NSLog(@"综合起来一共->%f种方式",temp);
2

最新文章

  1. 常用应用层协议HTTP、RTSP、RTMP比较
  2. 十大纺织品、布料、面料品牌排名 - 十大品牌 - 中国品牌网 Chinapp.com
  3. JavaScript 函数作用域和闭包
  4. 多少遍ner让他加56看6
  5. 我的Python成长之路---第四天---Python基础(14)---2016年1月23日(寒风刺骨)
  6. MySQL锁学习之UPDATE
  7. 做自己的软件的Gallery(一)
  8. 01-Django介绍和安装
  9. Storm知识点笔记
  10. Atitit 如何在水泥森林打猎 找到合适的公司
  11. CTR预估中GBDT与LR融合方案
  12. Hasura GraphQL 内部表结构
  13. 嵌入式开发之zynq---Zynq PS侧DMA驱动
  14. BZOJ2525 [Poi2011]Dynamite 【二分 + 贪心】
  15. kafka环境安装
  16. 6-关于#include&lt;bits/stdc++.h&gt;
  17. Universal App图片文件和图片byte[]信息转换为bitmap
  18. 装饰器( decorate )
  19. Codeforces Round #292 (Div. 1) C - Drazil and Park
  20. Shift Operations on C

热门文章

  1. 进程间的通信----队列queue
  2. CSS display详解
  3. [React + GraphQL] Use useLazyQuery to manually execute a query with Apollo React Hooks
  4. Helm:kubernetes应用包管理工具
  5. Java Part 001( 03_01_数据类型和运算符 )
  6. 页面打开excel
  7. luogu 3248
  8. RabbitMQ的安装和管理
  9. grafana+mysql忘记admin密码解决方法
  10. SSO单点登录实例