1.历届试题核桃的数量问题描述小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:1.各组的核桃数量必须相同2.各组内必须能平分核桃(当然是不能打碎的)3.尽量提供满足1,2条件的最小数量(节约闹革命嘛)输入格式输入包含三个正整数a,b,c,表示每个组正在加班的人数,用空格分开(a,b,c30)输出格式输出一个正整数,表示每袋核桃的数量。样例输入1245样例输出120样例输入2311样例输出23JAVA源代码importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);inta=sc.nextInt();intb=sc.nextInt();intc=sc.nextInt();inti;for(i=1;;i++){if(i%a==0&&i%b==0&&i%c==0)break;}System.out.println(i);}}2.基础练习Sine之舞时间限制:1.0s内存限制:512.0MB问题描述最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功。所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们的计算能力。不妨设An=sin(1–sin(2+sin(3–sin(4+...sin(n))...)Sn=(...(A1+n)A2+n-1)A3+...+2)An+1FJ想让奶牛们计算Sn的值,请你帮助FJ打印出Sn的完整表达式,以方便奶牛们做题。输入格式仅有一个数:N201。输出格式请输出相应的表达式Sn,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。样例输入3样例输出((sin(1)+3)sin(1–sin(2))+2)sin(1–sin(2+sin(3)))+1语言JAVA源代码importjava.util.Scanner;publicclassMain{privatestaticintm;publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);m=sc.nextInt();for(inti=0;im-1;i++){System.out.print(();}Sn(1);}publicstaticvoidAn(intn,intk){if(n==k){System.out.print(sin(+n);}elseif(n%2!=0){System.out.print(sin(+n+-);}else{System.out.print(sin(+n++);}if(nk)An(n+1,k);System.out.print());}publicstaticvoidSn(intn){An(1,n);if(n!=m){System.out.print(++(m-n+1)+));}else{System.out.print(++(m-n+1));}if(nm){Sn(n+1);}}}编译信息无3.基础练习FJ的字符串时间限制:1.0s内存限制:512.0MB问题描述FJ在沙盘上写了这样一些字符串:A1=“A”A2=“ABA”A3=“ABACABA”A4=“ABACABADABACABA”……你能找出其中的规律并写所有的数列AN吗?输入格式仅有一个数:N≤26。输出格式请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。样例输入3样例输出ABACABA言JAVA源代码importjava.util.Scanner;publicclassMain{publicstaticchar[]c={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);intn=scan.nextInt();print(n);}privatestaticvoidprint(intn){if(n==1){System.out.print(A);}else{print(n-1);System.out.print(c[n-1]);print(n-1);}}}4.基础练习芯片测试时间限制:1.0s内存限制:512.0MB问题描述有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。给出所有芯片的测试结果,问哪些芯片是好芯片。输入格式输入数据第一行为一个整数n,表示芯片个数。第二行到第n+1行为n*n的一张表,每行n个数据。表中的每个数据为0或1,在这n行中的第i行第j列(1≤i,j≤n)的数据表示用第i块芯片测试第j块芯片时得到的测试结果,1表示好,0表示坏,i=j时一律为1(并不表示该芯片对本身的测试结果。芯片不能对本身进行测试)。输出格式按从小到大的顺序输出所有好芯片的编号样例输入3101010101样例输出13语言JAVA源代码importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intn=sc.nextInt();int[][]a=newint[n][n];for(inti=0;in;i++){for(intk=0;kn;k++){a[i][k]=sc.nextInt();}}for(intk=0;kn;k++){intcount=0;for(inti=0;in;i++){count+=a[i][k];}if(countn/2){System.out.print((k+1)+);}}}}5.基础练习龟兔赛跑预测时间限制:1.0s内存限制:512.0MB问题描述话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息s秒。对于不同的兔子,t,s的数值是不同的,但是所有的乌龟却是一致——它们不到终点决不停止。然而有些比赛相当漫长,全程观看会耗费大量时间,而小华发现只要在每场比赛开始后记录下兔子和乌龟的数据——兔子的速度v1(表示每秒兔子能跑v1米),乌龟的速度v2,以及兔子对应的t,s值,以及赛道的长度l——就能预测出比赛的结果。但是小华很懒,不想通过手工计算推测出比赛的结果,于是他找到了你——清华大学计算机系的高才生——请求帮助,请你写一个程序,对于输入的一场比赛的数据v1,v2,t,s,l,预测该场比赛的结果。输入格式输入只有一行,包含用空格隔开的五个正整数v1,v2,t,s,l,其中(v1,v2=100;t=300;s=10;l=10000且为v1,v2的公倍数)输出格式输出包含两行,第一行输出比赛结果——一个大写字母“T”或“R”或“D”,分别表示乌龟获胜,兔子获胜,或者两者同时到达终点。第二行输出一个正整数,表示获胜者(或者双方同时)到达终点所耗费的时间(秒数)。样例输入1055220样例输出D4样例输入1055120样例输出R3样例输入1055320样例输出T4语言JAVA源代码importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intnum[]=newint[5];for(inti=0;i5;i++)num[i]=sc.nextInt();intsum1=0,sum2=0,time=1;for(intt=1;t=num[4]/num[0];time++){sum1+=num[0]*t;sum2+=num[1]*t;if(sum1==num[4]||sum2==num[4])break;if(sum1-sum2=num[2]){sum2+=num[1]*num[3];time+=num[3];}}if(sum2sum1){System.out.println(T);System.out.println(num[4]/num[1]);}elseif(sum2sum1){System.out.println(R);System.out.println(time);}else{System.out.println(D);System.out.println(num[4]/num[1]);}}}6.基础练习报时助手时间限制:1.0s内存限制:512.0MB问题描述给定当前的时间,请用英文的读法将它读出来。时间用时h和分m表示,在英文的读法中,读一个时间的方法是:如果m为0,则将时读出来,然后加上“o'clock”,如3:00读作“threeo'clock”。如果m不为0,则将时读出来,然后将分读出来,如5:30读作“fivethirty”。时和分的读法使用的是英文数字的读法,其中0~20读作:0:zero,1:one,2:two,3:three,4:four,5:five,6:six,7:seven,8:eight,9:nine,10:ten,11:eleven,12:twelve,13:thirteen,14:fourteen,15:fifteen,16:sixteen,17:seventeen,18:eighteen,19:nineteen,20:twenty。30读作thirty,40读作forty,50读作fifty。对于大于20小于60的数字,首先读整十的数,然后再加上个位数。如31首先读30再加1的读法,读作“thirtyone”。按上面的规则21:54读作“twentyonefiftyfour”,9:07读作“nineseven”,0:15读作“zerofifteen”。输入格式输入包含两个非负整数h和m,表示时间的时和分。非零的数字前没有前导0。h小于24,m小于60。输出格式输出时间时刻的英文。样例输入015样例输出zerofifteenimportjava.util.Scanner;publicclassMain{publicstaticString[]time1={zero,one,two,three,four,five,six,seven,eight,nine,ten,eleven,twelve,thirteen,fourteen,fifteen,sixteen,seventeen,eighteen,nineteen,twenty};publicstaticString[]time2={twenty,thirty,forty,fifty};publicstaticvoidmain(String[]