欢迎来到天天文库
浏览记录
ID:12359210
大小:164.50 KB
页数:20页
时间:2018-07-16
《2012年全国软件大赛真题及其答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第一题/*微生物增殖假设有两种微生物X和Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。 一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。 现在已知有新出生的X=10,Y=89,求60分钟后Y的数目。 如果X=10,Y=90 呢? 本题的要求就是写出这两种初始条件下,60分钟后Y的数目。*/#includeintmain(void){ _int64x=10; _int64y=90; inttime=60; inttime_t=time*10; fo
2、r (intt=5;t<=time_t;t+=5) { if(y<=0) { y=0; break; } if(t%5==0&&t%10!=0) { y=y-x; } if(t%30==0) { x =x*2; } if(t%20==0) { y=y*2; } } printf("y=%d",y); return0;}答案:0 943
3、71840第二题:/*古堡算式 福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE*?=EDCBA 他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!” 华生:“我猜也是!” 于是,两人沉默了好久,还是没有算出合适的结果来。 请你利用计算机的优势,找到破解的答案。 把ABCDE所代表的数字写出来。 答案写在“解答.txt”中,不要写在这里!*/#includeconstintTRUE=1;constintFALSE=0;intmain(void){ for(inti=10000;i<100000
4、0;i++) { inta[5]={0}; a[4]=i%10; a[3]=i/10%10; a[2]=i/100%10; a[1]=i/1000%10; a[0]=i/10000%10; boolFlag=TRUE; for(intj=0;j<5&&Flag;j++) { for(intk=0;k<5&&Flag;k++) { if(j!=k&&a[j]==a[
5、k]) { Flag=FALSE; } } } if(!Flag) continue; intnum=10000*a[4]+1000*a[3]+100*a[2]+10*a[1]+a[0]; for(intj=2;j<10;j++) { if(i*j==num) { printf("%d*
6、%d=%d",i,j,num); } } } return0;}答案:21978*4=87912第三题:/*/*比酒量 有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。 等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝酒,喝酒别开船....
7、..” 请你根据这些信息,推断开始有多少人,每一轮喝下来还剩多少人。 如果有多个可能的答案,请列出所有答案,每个答案占一行。 格式是:人数,人数,... 例如,有一种可能是:20,5,4,2,0 答案写在“解答.txt”中,不要写在这里!*/#includeintmain(void){ for(inti=2;i<4;i++) { for(intj=i+1;j<6;j++) { for(intm=j+1;m<12;m++) {
此文档下载收益归作者所有