资源描述:
《枚举算法题目及其代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、枚举算法题目及其代码ByLYLtim1、砝码称重(Weight)【问题描述】设有1g,2g,3g,5g,10g,20g的砝码各若干枚(其总重≤1000g)。【输入格式】a1a2a3a4a5a6(表示1g砝码有a1个,2g砝码有a2个,..20g砝码有a6个)【输出格式】Total=N(N表示用这些砝码能称出的不同重量的个数,不包括一个砝码也不用的情况)【输入样例】weight.in110 0 0 0【输出样例】weight.outTotal=3,表示可以称出1g,2g,3g三种不同的重量【参考程序】
2、vari,a1,a2,a3,a4,a5,a6,s:word; a:array[1..6]ofword; b:array[0..1000]ofboolean;begin assign(input,'weight.in');reset(input); assign(output,'weight.out');rewrite(output); fillchar(b,sizeof(b),false); s:=0; fori:=1to6doread(a[i]); fora1:=0toa
3、[1]do fora2:=0toa[2]do fora3:=0toa[3]do fora4:=0toa[4]do fora5:=0toa[5]do fora6:=0toa[6]do ifnotb[a1+a2*2+a3*3+a4*5+a5*10+a6*20]then begin
4、 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卷的《几何原本》仍然是被认为学习数学的基础读物。7欧几里德对毕达哥拉斯提出的“完美数”问题作了重要贡献。6是完美数,6=1+
5、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,
6、28,496,8128。相应的p是2,3,5,7给你一些整数p(不一定是质数)。请你判断2^(p–1)*(2^p–1)是不是完美数。最大的完美数不超过2^33。【输入格式】输入文件仅一行,为p。【输出格式】输出"Yes"或"No"(注意大小写)【输入样例】number.in2【输出样例】number.outYes【参考程序】constmax=131071;varpr:array[1..max]ofboolean; p:byte;procedureeratos;vari,j:word;begin f
7、illchar(pr,sizeof(pr),true); pr[1]:=false; fori:=2tomaxdiv2do ifpr[i]thenforj:=2tomaxdivido pr[i*j]:=false;end;{eratos}begin{main} eratos; assign(input,'number.in');reset(input); assign(output,'number.out');rewrite(output); rea
8、dln(p); if(pr[p])and(pr[trunc(exp(p*ln(2)))-1])thenwriteln('Yes')else7writeln('No'); close(input);close(output);end.3、苹果摘陶陶(apple.)【问题描述】 话说去年苹果们被陶陶摘下来后都很生气,于是就用最先进的克隆技术把陶陶克隆了好多份,然后把他们挂在树上,准备摘取。摘取的规则是,一个苹果只能摘一