枚举算法题目及其代码.docVIP

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

枚举算法题目及其代码 By LYLtim 1、砝码称重(Weight) 【问题描述】 设有1g,2g,3g,5g,10g,20g的砝码各若干枚(其总重≤1000g)。 【输入格式】 a1 a2 a3 a4 a5 a6(表示1g砝码有a1个,2g砝码有a2个,..20g砝码有a6个) 【输出格式】 Total=N (N表示用这些砝码能称出的不同重量的个数,不包括一个砝码也不用的情况) 【输入样例】weight.in 1 1 0?? 0?? 0?? 0 【输出样例】weight.out Total=3,表示可以称出1g,2g,3g三种不同的重量 【参考程序】 var i,a1,a2,a3,a4,a5,a6,s:word; ??? a:array[1..6]of word; ??? b:array[0..1000]of boolean; begin ??? assign(input,weight.in);reset(input); ??? assign(output,weight.out);rewrite(output); ??? fillchar(b,sizeof(b),false); ??? s:=0; ??? for i:=1 to 6 do read(a[i]); ??? for a1:=0 to a[1] do ??????? for a2:=0 to a[2] do ??????????? for a3:=0 to a[3] do ??????????????? for a4:=0 to a[4] do ??????????????????? for a5:=0 to a[5] do ??????????????????????? for a6:=0 to a[6] do ????????? if not b[a1+a2*2+a3*3+a4*5+a5*10+a6*20] then ???????? begin??????????????????????????????????? b[a1+a2*2+a3*3+a4*5+a5*10+a6*20]:=true; ????????????inc(s); ?????????end; ??? writeln(Total=,s-1); ??? close(input);close(output); end. 2、完美数 【问题描述】 古希腊人对数学作出了巨大贡献。欧几里德和毕达哥拉斯就是这个时代最杰出的数学家中的两位。欧几里德23卷的《几何原本》仍然是被认为学习数学的基础读物。 欧几里德对毕达哥拉斯提出的“完美数”问题作了重要贡献。6是完美数,6=1+2+3,刚好是其因数之和(小于6的因数)。另一个完美数是28,28=1+2+4+7+1。 在《几何原本》第九卷,欧几里德找到了所有偶完美数。(后来在20世纪才证明所有的完美数都是偶数)欧几里德证明一个偶数如果满足以下形式就是完美数:2^(p–1)*(2^p–1),其中p和2^p–1都是质数。 2000年后,欧拉证明了欧几里德定理的逆命题:每一个偶完美数都是欧几里德形式。例如6 = 2^(2–1)*(2^2–1), 28 = 2^(3–1)*(2^3–1)。 完美数很少。到1975年,只发现24个完美数,前4个完美数是6,28,496,8128。相应的p是2,3,5,7 给你一些整数p(不一定是质数)。请你判断2^(p–1)*(2^p–1)是不是完美数。最大的完美数不超过2^33。 【输入格式】 输入文件仅一行,为p。 【输出格式】 输出Yes或No(注意大小写) 【输入样例】number.in 2 【输出样例】number.out Yes 【参考程序】 const max=131071; var pr:array[1..max]of boolean; ??? p:byte; procedure eratos; var i,j:word; begin ??? fillchar(pr,sizeof(pr),true); ??? pr[1]:=false; ??? for i:=2 to max div 2 do ??????? if pr[i] then for j:=2 to max div i do ??????????? pr[i*j]:=false; end;{eratos} begin{main} ??? eratos; ??? assign(input,number.in);reset(input); ??? assign(output,number.out);rewrite(output); ??? readln(p); ??? if(pr[p])and(pr[trunc(exp(p*ln(2)))-1])then write

文档评论(0)

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

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

1亿VIP精品文档

相关文档