杭电ACM水题题目及代码

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1002A+BProblemIITimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):69615AcceptedSubmission(s):12678ProblemDescriptionIhaveaverysimpleproblemforyou.GiventwointegersAandB,yourjobistocalculatetheSumofA+B.InputThefirstlineoftheinputcontainsanintegerT(1=T=20)whichmeansthenumberoftestcases.ThenTlinesfollow,eachlineconsistsoftwopositiveintegers,AandB.Noticethattheintegersareverylarge,thatmeansyoushouldnotprocessthembyusing32-bitinteger.Youmayassumethelengthofeachintegerwillnotexceed1000.OutputForeachtestcase,youshouldoutputtwolines.ThefirstlineisCase#:,#meansthenumberofthetestcase.ThesecondlineistheanequationA+B=Sum,SummeanstheresultofA+B.Notetherearesomespacesinttheequation.Outputablanklinebetweentwotestcases.SampleInput212112233445566778899998877665544332211SampleOutputCase1:1+2=3Case2:112233445566778899+998877665544332211=1111111111111111110AuthorIgnatius.L#includestdio.h#includestring.hintmain(){charstr1[1001],str2[1001];intt,i,len_str1,len_str2,len_max,num=1,k;scanf(%d,&t);getchar();while(t--){inta[1001]={0},b[1001]={0},c[1001]={0};scanf(%s,str1);len_str1=strlen(str1);for(i=0;i=len_str1-1;++i)a[i]=str1[len_str1-1-i]-'0';scanf(%s,str2);len_str2=strlen(str2);for(i=0;i=len_str2-1;++i)b[i]=str2[len_str2-1-i]-'0';if(len_str1len_str2)len_max=len_str1;elselen_max=len_str2;k=0;for(i=0;i=len_max-1;++i){c[i]=(a[i]+b[i]+k)%10;k=(a[i]+b[i]+k)/10;}if(k!=0)c[len_max]=1;printf(Case%d:\n,num);num++;printf(%s+%s=,str1,str2);if(c[len_max]==1)printf(1);for(i=len_max-1;i=0;--i){printf(%d,c[i]);}printf(\n);if(t=1)printf(\n);}return0;}成绩转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):25250AcceptedSubmission(s):10776ProblemDescription输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:90~100为A;80~89为B;70~79为C;60~69为D;0~59为E;Input输入数据有多组,每组占一行,由一个整数组成。Output对于每组输入数据,输出一行。如果输入数据不在0~100范围内,请输出一行:“Scoreiserror!”。SampleInput5667100123SampleOutputEDAScoreiserror!AuthorlcySourceC语言程序设计练习(一)RecommendJGShining#includestdio.hintmain(){intn,k;while(scanf(%d,&n)!=EOF){if(n0||n100)printf(Scoreiserror!\n);else{k=n/10;switch(k){case10:printf(A\n);break;case9:printf(A\n);break;case8:printf(B\n);break;case7:printf(C\n);break;case6:printf(D\n);break;default:printf(E\n);break;}}}return0;}2007平方和与立方和TimeLimit:2000/1000ms(Java/Other)MemoryLimit:65536/32768K(Java/Other)TotalSubmission(s):65AcceptedSubmission(s):9Font:TimesNewRoman|Verdana|GeorgiaFontSize:←→ProblemDescription给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。Input输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。Output对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。你可以认为32位整数足以保存结果。SampleInput1325SampleOutput42820152AuthorlcySourceC语言程序设计练习(一)Statistic|#includestdio.hintmain(){intx,y,temp,sum1,sum2;while(scanf(%d%d,&x,&y)!=EOF){sum1=0;sum2=0;if(xy){temp=x;x=y;y=temp;}for(;x=y;x++){if(x%2==0){sum1+=x*x;}elsesum2+=x*x*x;}printf(%d%d\n,sum1,sum2);}return0;}2010水仙花数TimeLimit:2000/1000ms(Java/Other)MemoryLimit:65536/32768K(Java/Other)TotalSubmission(s):144AcceptedSubmission(s):27Font:TimesNewRoman|Verdana|GeorgiaFontSize:←→ProblemDescription春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。现在要求输出所有在m和n范围内的水仙花数。Input输入数据有多组,每组占一行,包括两个整数m和n(100=m=n=999)。Output对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;如果给定的范围内不存在水仙花数,则输出no;每个测试实例的输出占一行。SampleInput100120300380SampleOutputno370371AuthorlcySourceC语言程序设计练习(二)#includestdio.hintmain(){intm,n,k1,k2,k3,count;while(scanf(%d%d,&m,&n)!=EOF){for(count=0;m=n;++m){k1=m/100;k2=(m-100*k1)/10;k3=(m-100*k1-10*k2);if(m==k1*k1*k1+k2*k2*k2+k3*k3*k3){if(count!=0){printf();}printf(%d,m);count++;}}if(count==0)printf(no\n);elseprintf(\n);}return0;}2012素数判定TimeLimit:2000/1000ms(Java/Other)MemoryLimit:65536/32768K(Java/Other)TotalSubmission(s):29AcceptedSubmission(s):15Font:TimesNewRoman|Verdana|GeorgiaFontSize:←→ProblemDescription对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39=xy=50),判定该表达式的值是否都为素数。Input输入数据有多组,每组占一行,由两个整数x,y组成,当x=0,y=0时,表示输入结束,该行不做处理。Output对于每个给定范围内的取值,如果表达式的值都为素数,则输出OK,否则请输出“Sorry”,每组输出占一行。SampleInput0100SampleOutputOKAuthorlcySourceC语言程序设计练习(二)Statistic|Submit|Back#includestdio.hintmain(){intx,y,sum,i,count,n;while(scanf(%d%d,&x,&y)!=EOF&&(x!=0||y!=0)){count=0;for(n=x;n=y;++n){sum=n*n+n+41;for(i=2;i*i=sum;++i){if(sum%i==0)count=1;}}if(count==0)printf(OK\n);elseprintf(Sorry\n);}return0;}2013蟠桃记TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):11490AcceptedSubmission(s):8803ProblemDescription喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题!什么问题?他研究的问题是蟠桃一共有多少个!不过,到最后,他还是没能解决这个难题,呵呵^-^当时的情况是这样的:第一天悟空吃掉桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?Input输入数据有多组,每组占一行,包含一个正整数n(1n30),表示只剩下一个桃子的时候是在第n天发生的。Output对于每组输入数据,输出第一天开始吃的时候桃子的总数,每个测试实例占一行。SampleInput24SampleOutput422#includestdio.hlongpantao(intn){returnn==1?1:2+2*pantao(n-1);}intmain(){intn;while(scanf(%d,&n)!=EOF){printf(%d\n,pantao(n));}return0;}

1 / 75
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功