算法,兔子问题,兔子可以跳两步,也可以跳三步,问跳到100有几种跳法。附博主答案和源码
来源:互联网 发布:windows virtual pc 编辑:程序博客网 时间:2024/05/22 07:27
// 兔子可以跳一步2步或者3步
// 兔子可以跳一步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);2015-12-02 01:42:25.939 兔子OC[1209:82068] 在两步2次,三步32次的情境下,一共 C(34,32)->561.000000中组合方式:
2015-12-02 01:42:25.940 兔子OC[1209:82068] 在两步5次,三步30次的情境下,一共 C(35,30)->324632.000000中组合方式:
2015-12-02 01:42:25.940 兔子OC[1209:82068] 在两步8次,三步28次的情境下,一共 C(36,28)->30260340.000000中组合方式:
2015-12-02 01:42:25.940 兔子OC[1209:82068] 在两步11次,三步26次的情境下,一共 C(37,26)->854992152.000000中组合方式:
2015-12-02 01:42:25.941 兔子OC[1209:82068] 在两步14次,三步24次的情境下,一共 C(38,24)->9669554100.000000中组合方式:
2015-12-02 01:42:25.941 兔子OC[1209:82068] 在两步17次,三步22次的情境下,一共 C(39,22)->51021117810.000008中组合方式:
2015-12-02 01:42:25.941 兔子OC[1209:82068] 在两步20次,三步20次的情境下,一共 C(40,20)->137846528820.000031中组合方式:
2015-12-02 01:42:25.941 兔子OC[1209:82068] 在两步23次,三步18次的情境下,一共 C(41,18)->202112640599.999939中组合方式:
2015-12-02 01:42:25.941 兔子OC[1209:82068] 在两步26次,三步16次的情境下,一共 C(42,16)->166509721602.000000中组合方式:
2015-12-02 01:42:25.941 兔子OC[1209:82068] 在两步29次,三步14次的情境下,一共 C(43,14)->78378960360.000015中组合方式:
2015-12-02 01:42:25.942 兔子OC[1209:82068] 在两步32次,三步12次的情境下,一共 C(44,12)->21090682613.000004中组合方式:
2015-12-02 01:42:25.942 兔子OC[1209:82068] 在两步35次,三步10次的情境下,一共 C(45,10)->3190187286.000001中组合方式:
2015-12-02 01:42:25.943 兔子OC[1209:82068] 在两步38次,三步8次的情境下,一共 C(46,8)->260932815.000000中组合方式:
2015-12-02 01:42:25.943 兔子OC[1209:82068] 在两步41次,三步6次的情境下,一共 C(47,6)->10737573.000000中组合方式:
2015-12-02 01:42:25.943 兔子OC[1209:82068] 在两步44次,三步4次的情境下,一共 C(48,4)->194580.000000中组合方式:
2015-12-02 01:42:25.944 兔子OC[1209:82068] 在两步47次,三步2次的情境下,一共 C(49,2)->1176.000000中组合方式:
2015-12-02 01:42:25.944 兔子OC[1209:82068] 在两步50次,三步0次的情境下,一共 C(50,0)->1.000000中组合方式:
2015-12-02 01:42:25.944 兔子OC[1209:82068] 综合起来一共->670976837021.000000种方式
Program ended with exit code: 0
博主 工程师QQ群 434536383
微信号 1917484
0 0
- 算法,兔子问题,兔子可以跳两步,也可以跳三步,问跳到100有几种跳法。附博主答案和源码
- 兔子算法问题
- 兔子问题----算法基础
- 兔子生兔子问题
- 兔子生兔子问题
- 兔子生兔子问题
- 兔子生兔子问题
- 兔子生兔子问题
- 狐狸吃兔子问题算法
- Java算法题:兔子问题
- 算法——兔子问题
- 算法 狼找兔子问题
- 【经典算法】:兔子繁殖问题
- Java算法之“兔子问题”
- java算法--兔子繁殖问题
- java算法-兔子对数问题
- 兔子算法
- 兔子算法
- java垃圾回收机制
- debian-in-virtualbox-vmware实际环境配置文件
- Linux (编程)摘要
- codeforces #334A,B
- 迭代器失效小结
- 算法,兔子问题,兔子可以跳两步,也可以跳三步,问跳到100有几种跳法。附博主答案和源码
- android学习笔记:Intent,Intent Filter
- CMAKE 交叉编译
- 搞ACM的你伤不起(转)
- 尝试使用google test
- debian8-环境设置-优化细节1
- HTML学习笔记
- linux-securecrt-特别版
- div+css学习笔记