蓝桥杯Java试题汇总 下载本文

内容发布更新时间 : 2024/5/28 3:49:51星期一 下面是文章的全部内容请认真阅读。

?? 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(并不表示该芯片对本身的测试结果。芯片不能对本身进行测试)。

输出格式

按从小到大的顺序输出所有好芯片的编号

样例输入

3

1 0 1 0 1 0 1 0 1

样例输出

1 3

语言 JAVA

源代码

?? import java.util.*; ?? public class Main {

?? public static void main(String[] args) {

?? Scanner sc=new Scanner(System.in);

?? int n=sc.nextInt();

?? int[][] a=new int[n][n]; ?? for(int i=0;i

?? for(int k=0;k

?? for(int i=0;i

?? if(count>n/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”,分别表示乌龟获胜,兔子获胜,或者两者同时到达终点。

第二行输出一个正整数,表示获胜者(或者双方同时)到达终点所耗费的时间(秒数)。

样例输入

10 5 5 2 20

样例输出

D 4

样例输入

10 5 5 1 20

样例输出

R 3

样例输入

10 5 5 3 20

样例输出

T 4

语言

JAVA

import java.util.Scanner; public class Main { public static void

main(String[] args){ Scanner sc=new Scanner(System.in); int num[]=new int[5]; for(int i=0;i<5;i++)

num[i]=sc.nextInt(); int sum1=0,sum2=0,time=1; for(int 源t=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(sum2>sum1){ System.out.println(\System.out.println(num[4]/num[1]); } else

if(sum2

基础练习 报时助手

时间限制:1.0s 内存限制:512.0MB

问题描述

给定当前的时间,请用英文的读法将它读出来。 时间用时h和分m表示,在英文的读法中,读一个时间的方法是:

如果m为0,则将时读出来,然后加上“o'clock”,如3:00读作“three o'clock”。

如果m不为0,则将时读出来,然后将分读出来,如5:30读作“five thirty”。

时和分的读法使用的是英文数字的读法,其中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的读法,读作“thirty one”。 按上面的规则21:54读作“twenty one fifty four”,9:07读作“nine seven”,0:15读作“zero fifteen”。

输入格式

输入包含两个非负整数h和m,表示时间的时和分。非零的数字前没有前导0。h小于24,m小于60。