全文预览

运用递归策略设计算法-word资料(精)

上传者:苏堤漫步 |  格式:doc  |  页数:10 |  大小:0KB

文档介绍
520/6 = 420. 所以老六分给老大的 1/3 前为 420 *3/2= 630. 也就是分了 210 个橘子给老大。所以老大分得老六之前的为 2520/6 - 210 = 420 - 210 = 210. 由于老大分了原来的 1/8 给老二, 所以设老大原来的为 x(x* 7/8 = 210.==>x=240.. ) 2. 算法实现程序源代码(请写入必要的注释)。#include <iostream> using namespace std; void juzi(int erzi, int Original, int givenum, int n) { if (erzi > 6) { return; } char *s[]={" 老大"," 老二"," 老三"," 老四"," 老五"," 老六"}; cout<<s[erzi-1]<<" 原先获得橘子数为: "<<Original<<endl; int Next = 420 * (n- 1)/ (n- 2)- givenum / n; // 计算下一个人的原来数目 int NextAfterGet = Next + givenum / n;// 计算下一个人分给下下一个人后的数目 juzi(erzi+1, Next, NextAfterGet,n-1); } int main(){ juzi(1, 240, 240, 8); return 0; } 3. 运行结果 4. 经验归纳仔细动脑四、实验过程 1 题目分析 2 算法构造在此论证算法设计中的一些必要的设计依据。 3 算法实现程序源代码(请写入必要的注释)。 4 运行结果 5 经验归纳请仿照此步骤写实验过程。五、实验总结这次作业让我对算法有了新的了解,主要是递归的应用使我影响深刻,对我以后解决某些人脑不能解决的的问题有了很大的帮助。总体来看,最后一道题目难度很大。

收藏

分享

举报
下载此文档