枚举算法题目及其代码_第1页
枚举算法题目及其代码_第2页
枚举算法题目及其代码_第3页
枚举算法题目及其代码_第4页
枚举算法题目及其代码_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

枚举算法题目及其代码 By LYLtim1、砝码称重(Weight)【问题描述】设有1g,2g,3g,5g,10g,20g的砝码各若干枚(其总重1000g)。【输入格式】a1 a2 a3 a4 a5 a6(表示1g砝码有a1个,2g砝码有a2个,.20g砝码有a6个)【输出格式】Total=N (N表示用这些砝码能称出的不同重量的个数,不包括一个砝码也不用的情况)【输入样例】weight.in1 1 0 0 0 0【输出样例】weight.outTotal=3,表示可以称出1g,2g,3g三种不同的重量【参考程序】var i,a1,a2,a3,a4,a5,a6,s:word; a:array1.6of word; b:array0.1000of 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(ai); for a1:=0 to a1 do for a2:=0 to a2 do for a3:=0 to a3 do for a4:=0 to a4 do for a5:=0 to a5 do for a6:=0 to a6 do if not ba1+a2*2+a3*3+a4*5+a5*10+a6*20 then begin ba1+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(p1)*(2p1),其中p和2p1都是质数。2000年后,欧拉证明了欧几里德定理的逆命题:每一个偶完美数都是欧几里德形式。例如6 = 2(21)*(221), 28 = 2(31)*(231)。完美数很少。到1975年,只发现24个完美数,前4个完美数是6,28,496,8128。相应的p是2,3,5,7给你一些整数p(不一定是质数)。请你判断2(p1)*(2p1)是不是完美数。最大的完美数不超过233。【输入格式】输入文件仅一行,为p。【输出格式】输出Yes或No(注意大小写)【输入样例】number.in2【输出样例】number.outYes【参考程序】const max=;var pr:array1.maxof boolean; p:byte;procedure eratos;var i,j:word;begin fillchar(pr,sizeof(pr),true); pr1:=false; for i:=2 to max div 2 do if pri then for j:=2 to max div i do pri*j:=false;end;eratosbeginmain eratos; assign(input,number.in);reset(input); assign(output,number.out);rewrite(output); readln(p); if(prp)and(prtrunc(exp(p*ln(2)-1)then writeln(Yes) else writeln(No); close(input);close(output);end.3、苹果摘陶陶(apple.)【问题描述】 话说去年苹果们被陶陶摘下来后都很生气,于是就用最先进的克隆技术把陶陶克隆了好多份,然后把他们挂在树上,准备摘取。摘取的规则是,一个苹果只能摘一个陶陶,且只能在它所能摘到的高度以下(即是小于关系)的最高的陶陶,如果摘不到的话只能灰溜溜的走开了。给出苹果数目及每个苹果可以够到的高度和各个陶陶的高度,求苹果们都摘完后剩下多少个陶陶 【输入格式】第一行为两个数,分别为苹果的数量n和陶陶的数量m(n,m=2000)以下的n行,分别为各个苹果能够到的最大高度。再接下来的m行,分别为各个陶陶的高度。高度均不高于300。当然了,摘取的顺序按照输入的“苹果够到的最大高度”的顺序来摘。 【输出格式】 输出仅有一个数,是剩下的陶陶的数量【输入样例】apple.in5 5910231678910【输出样例】apple.out3 【参考程序】var n,m,tot:word; ap:array1.2000of word; tt:array0.2000of word; bo:array1.2000of boolean;procedure init;var i:word;begin assign(input,apple.in);reset(input); readln(n,m); for i:=1 to n do readln(api); tt0:=0; for i:=1 to m do begin readln(tti); boi:=true; end; close(input);end;initprocedure work;var i,j,best:word;begin tot:=m; for i:=1 to n do begin best:=0; for j:=1 to m doif(ttjttbest)and(boj) then best:=j;if best0 then begin bobest:=false; dec(tot); end; end;end;workprocedure print;begin assign(output,apple.out);rewrite(output); writeln(tot); close(output);end;printbeginmain init; work; print;end.4、猫老大数(NUMBER. PAS)【问题描述】猫老大很喜欢研究数字,特别是喜欢质数。一天,猫老大发现有一些数字可以表示成两个质数相乘的形式。比如,1025. 2,5都是质数,所以 10 是一个“猫老大数 ”。所以猫老大决定考考彩虹,他告诉彩虹一个数 n ,判断 n 是不是“猫老大数”?【输入格式】一行,一个数 n (1=n1 then continue; end; if k=1 then writeln(Its a MaoLaoDa number.) else writeln(Its not a MaoLaoDa number.); close(input);close(output);end.5、陶陶学数学(Pnumber.pas)【问题描述】陶陶很喜欢数学 ,尤其喜欢奇怪的数。一天,他突然发现,有的整数拥有的因子数是很有个性的,决定找到一个具有n个正因子数的最小的正整数。 例如:n=4,则m=6,因为6有4个不同正整数因子1,2,3,6;而且是最小的有4个因子的整数。【输入文件】仅一个数 n(1n50000)【输出文件】仅一个数 m【样例输入】pnumber.in4【样例输出】pnumber.out6【参考程序】var n,x,t,i:word;begin assign(input,pnumber.in);reset(input); assign(output,pnumber.out);rewrite(output); readln(n); x:=0; repeat inc(x);t:=0; for i:=1 to x do if x mod i=0 then inc(t); until t=n; writeln(x); close(input);close(output);end.6、子数整数【问题描述】 对于一个五位数a1a2a3a4a5,可将其拆分为三个子数:sub1=a1a2a3sub2=a2a3a4sub3=a3a4a5 例如,五位数20207可以拆分成sub1=202sub2=020(=20)sub3=207 现在给定一个正整数K,要求你编程求出10000到30000之间所有满足下述条件的五位数,条件是这些五位数的三个子数sub1,sub2,sub3都可被K整除。【输入格式】 输入由键盘输入,输入仅一行,为正整数K(0K1000)。【输出格式】输出到文件,输出文件的每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出“No”。【输入样例】num.in15【输出样例】num.out22555255552855530000【参考程序】var k,i:word; no:boolean;begin assign(input,num.in);reset(input); assign(output,num.out);rewrite(output); no:=true; readln(k);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论