FPS算法(递归 递推).docxVIP

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FPS算法(递归 递推)

递归算法 某超市为了促销,规定:购物不足50元的按原价付款,超过50不足100的按九折付款,超过100元的,超过部分按八折付款。编一程序完成超市的自动计费的工作。 二、输入a,b,c三个不同的数,将它们按由小到大的顺序输出。 三、编程模拟剪刀、石头、布游戏:用S表示剪刀,用R表示石头,用P表示布。规则是:剪刀剪布,石头砸剪刀,布包石头。游戏者分别把自己的选择输入,计算给出结果。 参考程序 一、var moneya:integer;moneyb:real; begin ? readln(moneya); ? if moneya=50 then moneyb:=moneya ??? else if moneya=100 then moneyb:=50+(moneya-50)*0.9 ????? else moneyb:=50+45+(moneya-100)*0.8; ? writeln(moneyb:0:2); ? readln; end.? 二、var a:array[0..3]of longint;i,j:byte; begin ? read(a[1],a[2],a[3]); ? for i:=1 to 2 do ??? for j:=i+1 to 3 do ????? if a[i]a[j] then begin ??????? a[0]:=a[i];a[i]:=a[j];a[j]:=a[0]; ????? end; ? write(a[1], ,a[2], ,a[3]); ? readln; end.? 三、const ch1=S;ch2=R;ch3=P; var s:string[2];winner:byte;b:boolean; begin ? b:=true; ? readln(s); ? case s[1] of ? ch1:case s[2] of ????? ch1:b:=false; ????? ch2:winner:=2; ????? ch3:winner:=1; ????? end; ? ch2:case s[2] of ????? ch1:winner:=1; ????? ch2:b:=false; ????? ch3:winner:=2; ????? end; ? ch3:case s[2] of ????? ch1:winner:=2; ????? ch2:winner:=1; ????? ch3:b:=false; ????? end; ? end; ? if b then writeln(第,winner,个人赢了) ? else writeln(没有人赢); end.? 递推算法 递推算法是一种用若干步可重复的简单运算(规律)来描述复杂问题的方法。 [例1]?植树节那天,有五位参加了植树活动,他们完成植树的棵数都不相同。问第一位同学植了多少棵时,他指着旁边的第二位同学说比他多植了两棵;追问第二位同学,他又说比第三位同学多植了两棵;…如此,都说比另一位同学多植两棵。最后问到第五位同学时,他说自己植了10棵。到底第一位同学植了多少棵树? 解:设第一位同学植树的棵数为a1,欲求a1,需从第五位同学植树的棵数a5入手,根据“多两棵”这个规律,按照一定顺序逐步进行推算: ????①a5=10; ????②a4=a5+2=12; ????③a3=a4+2=14; ????④a2=a3+2=16; ????⑤a1=a2+2=18; 参考程序: ??Program Exam1; ????Var i,a:byte; ??????begin ?????????a:=10;???????{以第五位同学的棵数为递推的起始值} ?????????for i:=1 to 4 do???{还有4人,递推计算4次} ????????????a:=a+2;????????{递推运算规律} ?????????writeln(’The Num is’,?a); ?????????readln ??????end. 本程序的递推运算可用如下图示描述: ? 递推算法以初始{起点}值为基础,用相同的运算规律,逐次重复运算,直至运算结束。这种从“起点”重复相同的方法直至到达一定“边界”,犹如单向运动,用循环可以实现。递推的本质是按规律逐次推出(计算)下一步的结果。

文档评论(0)

zsmfjy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档