码迷,mamicode.com
首页 > 移动开发 > 详细

ios 算法题

时间:2015-12-17 22:27:44      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:

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  

ios 算法题

标签:

原文地址:http://www.cnblogs.com/linxiu-0925/p/5055397.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!