蓝桥杯Java试题
更新时间:2024-05-22 15:26:01 阅读量: 综合文库 文档下载
1. 历届试题 核桃的数量
问题描述
小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:
1. 各组的核桃数量必须相同
2. 各组内必须能平分核桃(当然是不能打碎的) 3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)
输入格式
输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c<30)
输出格式
输出一个正整数,表示每袋核桃的数量。
样例输入1
2 4 5
样例输出1
20
样例输入2
3 1 1
样例输出2
3
JAVA
源代码
? import java.util.Scanner; ? public class Main { ?
? public static void main(String[] args){
? Scanner sc=new Scanner(System.in); ? int a=sc.nextInt(); ? int b=sc.nextInt(); ? int c=sc.nextInt(); ? int i;
?? 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+1
FJ想让奶牛们计算Sn的值,请你帮助FJ打印出Sn的完整表达式,以方便奶牛们做题。
输入格式
仅有一个数:N<201。
输出格式
请输出相应的表达式Sn,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。
样例输入
3
样例输出
((sin(1)+3)sin(1–sin(2))+2)sin(1–sin(2+sin(3)))+1
语言 JAVA
源代码
?? ?? ?? ?? ?? ?? ?? ?? ?? import java.util.Scanner; public class Main { private static int m;
public static void main(String[] args){ Scanner sc=new Scanner(System.in); m=sc.nextInt();
for(int i=0;i ?? Sn(1); ?? } ?? public static void An(int n,int k){ ?? if(n==k){ ?? System.out.print(\?? }else if(n%2!=0){ ?? System.out.print(\?? }else{ ?? System.out.print(\ ?? ; } ?? if(n ?? System.out.print(\?? } ?? public static void Sn(int n){ ?? An(1,n); ?? if(n!=m){ ?? System.out.print(\?? }else{ ?? System.out.print(\?? } ?? if(n ?? 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 源代码 ?? import java.util.Scanner; ?? public class Main { ?? public static char[] 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'}; ?? public static void main(String[] args){ ?? Scanner scan = new Scanner(System.in); ?? int n=scan.nextInt(); ?? print(n); } ?? private static void print(int n){ ?? if(n == 1){ ?? System.out.print(\?? } ?? else{ 输出格式 输出时间时刻的英文。 样例输入 0 15 样例输出 zero fifteen ?? import java.util.Scanner; ?? public class Main { ?? public static String[] time1={\\\ ?? public static String[] time2={\?? public static void main(String[] args){ ?? Scanner sc=new Scanner(System.in); ?? while(sc.hasNext()){ ?? int h=sc.nextInt(); ?? int m=sc.nextInt(); ?? if(h<=20){ ?? System.out.print(time1[h]); ?? }else{ ?? System.out.print(\?? } if(m==0){ ??? System.out.println(\??? }else{ if(m<20){ ??? System.out.print(\??? }else{ ??? int a=m/10;//十位 ??? int b=m;//个位 ??? if(b==0) ??? System.out.print(\??? else ??? System.out.print(\\ ??? } ??? } ??? System.out.println(); ??? } ??? } ??? ??? ??? } 7. 基础练习 Huffuman 树 时间限制:1.0s 内存限制:512.0MB 问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0, p1, ?, pn-1},用这列数构造Huffman树的过程如下: 1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa + pb。 2. 重复步骤1,直到{pi}中只剩下一个数。 在上面的操作过程中,把所有的费用相加,就得到了构造Huffman树的总费用。 本题任务:对于给定的一个数列,现在请你求出用该数列构造Huffman树的总费用。 例如,对于数列{pi}={5, 3, 8, 2, 9},Huffman树的构造过程如下: 1. 找到{5, 3, 8, 2, 9}中最小的两个数,分别是2和3,从{pi}中删除它们并将和5加入,得到{5, 8, 9, 5},费用为5。 2. 找到{5, 8, 9, 5}中最小的两个数,分别是5和5,从{pi}中删除它们并将和10加入,得到{8, 9, 10},费用为10。 3. 找到{8, 9, 10}中最小的两个数,分别是8和9,从{pi}中删除它们并将和17加入,得到{10, 17},费用为17。 4. 找到{10, 17}中最小的两个数,分别是10和17,从{pi}中删除它们并将和27加入,得到{27},费用为27。 5. 现在,数列中只剩下一个数27,构造过程结束,总费用为5+10+17+27=59。 输入格式 输入的第一行包含一个正整数n(n<=100)。 接下来是n个正整数,表示p0, p1, ?, pn-1,每个数不超过1000。 输出格式 输出用这些数构造Huffman树的总费用。 样例输入 5 5 3 8 2 9 样例输出 59 语言 JAVA ??? import java.util.*; ??? public class Main{ ??? public static void main(String args[]){ ??? Scanner sc=new Scanner(System.in); ??? while(sc.hasNext()){ ??? int n=sc.nextInt(); ??? int[] a=new int[n]; ??? for(int i=0;i ??? int k=0; ??? int sum=0; 源代码 ??? while(n>1){ ??? Arrays.sort(a); ??? k=a[0]+a[1]; ??? sum=sum+k; ??? a[0]=k; ??? a[1]=Integer.MAX_VALUE; ??? n--; ??? ??? } ??? System.out.print(sum); ??? } ??? } } 8. 基础练习 高精度加法 时间限制:1.0s 内存限制:512.0MB 问题描述 输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。 定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。 计算c = a + b的时候,首先将A[0]与B[0]相加,如果有进位产生,则把进位(即和的十位数)存入r,把和的个位数存入C[0],即C[0]等于(A[0]+B[0])。然后计算A[1]与B[1]相加,这时还应将低位进上来的值r也加起来,即C[1]应该是A[1]、B[1]和r三个数的和.如果又有进位产生,则仍 可将新的进位存入到r中,和的个位存到C[1]中。依此类推,即可求出C的所有位。 最后将C输出即可。 输入格式 输入包括两行,第一行为一个非负整数a,第二行为一个非负整数b。两个整数都不超过100位,两数的最高位都不是0。 输出格式 输出一行,表示a + b的值。 样例输入 20100122201001221234567890 2010012220100122 样例输出 20100122203011233454668012 语言 JAVA 源代码 ??? import java.util.*; ??? import java.math.*; ??? public class Main{ ??? public static void main(String args[]){ ??? Scanner sc=new Scanner(System.in); ??? while(sc.hasNext()){ ??? String s1=sc.next(); ??? String s2=sc.next(); ??? BigInteger n1=new BigInteger(s1); ??? BigInteger n2=new BigInteger(s2); ??? System.out.println(n1.add(n2)); 样例输入 30 样例输出 1E 语言 JAVA ??? import java.util.*; ??? public class Main { ??? public static void main(String args[]){ ??? Scanner sc=new Scanner(System.in); ??? int n=sc.nextInt(); ??? System.out.println(Trans(n)); ??? } ??? public static String Trans(int n){ ??? String s=\??? StringBuffer str=new StringBuffer(); ??? for(int i=0;n>=16;i++){ ??? int a=n; ??? n/=16; ??? str.append(s.charAt(a)); ??? ??? } ??? str.append(s.charAt(n)); ??? return str.reverse().toString(); ??? } ??? } 试题名称 语言 JAVA 基础练习 十进制转十六进制 源代码 源代码 ??? import java.util.Scanner; ??? public class Main { ??? public static void main(String[] args) { ??? Scanner sc=new Scanner(System.in); ??? int c=sc.nextInt(); ??? System.out.println(Integer.toHexString(c).toUpperCase()); }} 13. 基础练习 特殊回文数 时间限制:1.0s 内存限制:512.0MB 问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。 输入格式 输入一行,包含一个正整数n。 输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。 样例输入 52 样例输出 899998 989989 998899 数据规模和约定 1<=n<=54。 语言 JAVA ??? import java.util.*; ??? public class Main{ ??? ??? public static void wuwei(int n){ ??? for(int i=1;i<=9;i++){ ??? for(int j=0;j<=9;j++){ ??? for(int k=0;k<=9;k++){ ??? if((2*i+k+2*j)==n) ??? System.out.println(i*10000+j*1000+k*100+j*10+i); ??? ??? } ??? } ??? } ??? } ??? public static void liuwei(int n){ ??? for(int i=1;i<=9;i++){ ??? for(int j=0;j<=9;j++){ ??? for(int k=0;k<=9;k++){ ??? ??? if(2*(i+k+j)==n) ??? System.out.println(i*100000+j*10000+k*1000+k*100+j*10+i); ??? } ??? } ??? } 源代码 ??? } ??? public static void main(String args[]){ ??? Scanner sc=new Scanner(System.in); ??? int n=sc.nextInt(); ??? wuwei(n); ??? liuwei(n); ??? ??? ??? ??? } ??? ??? ??? } 14. 基础练习 回文数 时间限制:1.0s 内存限制:512.0MB 问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。 输出格式 按从小到大的顺序输出满足条件的四位十进制数。 语言 JAVA ??? import java.util.*; ??? public class Main{ ??? public static void main(String args[]){ ??? for(int i=1000;i<10000;i++){ 源代码 ??? int a=i/1000; ??? int b=(i-a*1000)/100; ??? int c=(i-a*1000-b*100)/10; ??? int d=(i-a*1000-b*100); ??? if((a==d)&&(b==c)) ??? System.out.println(i); ??? } ??? ??? } ??? ??? ??? } 15. 基础练习 特殊的数字 时间限制:1.0s 内存限制:512.0MB 问题描述 153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1*1*1+5*5*5+3*3*3。编程求所有满足这种条件的三位十进制数。 输出格式 按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。 试题名称 基础练习 特殊的数字 语言 JAVA 源代码 ??? import java.util.*; ??? public class Main{ ??? public static void main(String args[]){ ??? for(int i=100;i<1000;i++){ ??? int a=i/100; ??? int b=(i-a*100)/10; ??? int c=(i-a*100-b*10); ??? if(i==(a*a*a+b*b*b+c*c*c)) ??? System.out.println(i); ??? } ??? ??? } ??? ??? ??? } 16. 基础练习 杨辉三角形 时间限制:1.0s 内存限制:256.0MB 问题描述 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的前4行: i 1 1 1 1 2 1 1 3 3 1 给出n,输出它的前n行。 输入格式 输入包含一个数n。 输出格式 输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出多余的空格。 样例输入 4 样例输出 1 1 1 1 2 1 1 3 3 1 数据规模与约定 1 <= n <= 34。 试题名称 基础练习 杨辉三角形 语言 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 j=2;j a[j][k]=a[j-1][k]+a[j-1][k-1]; ??? } ??? } ??? for(int i=0;i0) ??? System.out.print(a[i][j]+\\ ??? } ??? System.out.println(); ??? } ??? } } 源代码 17. 基础练习 查找整数 时间限制:1.0s 内存限制:256.0MB 问题描述 给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。 输入格式 第一行包含一个整数n。 第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。 第三行包含一个整数a,为待查找的数。 输出格式 如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。 样例输入 6 1 9 4 8 3 9 9 样例输出 2 数据规模与约定 1 <= n <= 1000。 试题名称 基础练习 查找整数 语言 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]; ??? ??? for(int i=0;i ??? int s=sc.nextInt(); ??? ??? for(int i=0;i ??? if(f==0){ ??? System.out.println(-1); ??? } ??? ??? ??? } } 18 基础练习 数列特征 时间限制:1.0s 内存限制:256.0MB 问题描述 给出n个数,找出这n个数的最大值,最小值,和。 输入格式 第一行为整数n,表示数的个数。 第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。 输出格式 输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。 样例输入 5 1 3 -2 4 5 样例输出 5 -2 11 数据规模与约定 1 <= n <= 10000。 试题名称 基础练习 数列特征 语言 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]; ??? int sum=0; ??? for(int i=0;i ??? Arrays.sort(a); ??? System.out.println(a[n-1]); ??? System.out.println(a[0]); ??? System.out.println(sum); ??? }} 19. 基础练习 字母图形 时间限制:1.0s 内存限制:256.0MB 问题描述 利用字母可以组成一些美丽的图形,下面给出了一个例子: ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。 输入格式 输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。 输出格式 输出n行,每个m个字符,为你的图形。 样例输入 5 7 样例输出 ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 数据规模与约定 1 <= n, m <= 26。 题名称 语言 源 JAVA 基础练习 字母图形 ??? import java.util.*; ??? public class Main{ 代码 ??? public static void main(String[] args) { ??? Scanner scanner = new Scanner(System.in); ??? while(scanner.hasNext()) ??? { ??? char[] 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'}; ??? int a = scanner.nextInt(); ??? int b = scanner.nextInt(); ??? int j = 0; ??? for(int i = 0; i < a; i++) ??? { ??? int l = j; ??? for(int k = 0; k < b; k++) ??? { ??? System.out.print(c[Math.abs(l++)]); ??? } ??? j--; ??? System.out.println(); ??? } ??? } }} 20. 基础练习 01字串 时间限制:1.0s 内存限制:256.0MB 问题描述 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是: 00000 00001 00010 00011 00100 请按从小到大的顺序输出这32种01串。 输入格式 本试题没有输入。 输出格式 输出32行,按从小到大的顺序每行一个长度为5的01串。 样例输出 00000 00001 00010 00011 <以下部分省略> 试题名 称 基础练习 01字串 语言 JAVA 源代码 ??? import java.util.*; ??? public class Main { ??? public static void main(String args[]){ ??? ??? for(int i=0;i<32;i++){ ??? System.out.println(i/16%2+\??? } ??? ??? ??? } } 21. 基础练习 闰年判断 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个年份,判断这一年是不是闰年。 当以下情况之一满足时,这一年是闰年: 1. 年份是4的倍数而不是100的倍数; 2. 年份是400的倍数。 其他的年份都不是闰年。 输入格式 输入包含一个整数y,表示当前的年份。 输出格式 输出一行,如果给定的年份是闰年,则输出yes,否则输出no。 说明:当试题指定你输出一个字符串作为结果(比如本题的yes或者no,你需要严格按照试题中给定的大小写,写错大小写将不得分。 样例输入 2013 样例输出 no 样例输入 2016 样例输出 yes 数据规模与约定 1990 <= y <= 2050。 试题名称 基础练习 闰年判断 语言 JAVA 源代码 ??? import java.util.*; ??? public class Main { ??? public static void main(String args[]){ ??? ??? Scanner sc=new Scanner(System.in); ??? int a=sc.nextInt(); ??? if(a@0==0||(a%4==0&&a0!=0)) ??? System.out.println(\??? else ??? System.out.println(\??? ??? ??? } } 22. 入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。 输入格式 输入包含一个整数n。 输出格式 输出一行,包含一个整数,表示Fn除以10007的余数。 说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。 样例输入 10 样例输出 55 样例输入 22 样例输出 7704 数据规模与约定 1 <= n <= 1,000,000。 试题名称 入门训练 Fibonacci数列 语言 JAVA ??? import java.util.*; ??? public class Main { ??? public static void main(String args[]){ ??? int[] a=new int[1000001]; ??? a[1]=1; ??? a[2]=1; ??? for(int i=3;i ??? Scanner sc=new Scanner(System.in); ??? int n=sc.nextInt(); ??? System.out.println(a[n]); ??? } ??? } 源代码 23. 入门训练 圆的面积 时间限制:1.0s 内存限制:256.0MB 问题描述 给定圆的半径r,求圆的面积。 输入格式 输入包含一个整数r,表示圆的半径。 输出格式 输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。 说明:在本题中,输入是一个整数,但是输出是一个实数。 对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误。 实数输出的问题如果没有特别说明,舍入都是按四舍五入进行。 样例输入 4 样例输出 50.2654825
正在阅读:
蓝桥杯Java试题05-22
国食药监械475号 豁免提交临床试验资料的第二类医疗器械目录(试行)(征求意见稿)10-21
AQT3046—2013化工企业定量风险评价导则(修复的) - 图文04-20
毕业论文 - 1000MW火力发电机组电气主接线及厂用电接线的设计及仿真 - 本科毕业设计论文10-21
低年级阅读教案12-20
如何做个会说话的人(深度好文)03-19
电子商务物流管理课后练习参考答案12-04
唐顿庄园圣诞特辑中英文台词04-10
江苏大学汉字听写大会总结04-25
会计教育-涉税会计处理之令狐文艳创作05-18
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 蓝桥
- 试题
- Java
- 工业风扇制造项目可行性研究报告
- WORD自动生成制作目录最简单方法
- 小麦应用炭吸附聚谷氨酸拌种效果试验初报
- 基于MATLAB的SVPWM高次谐波分析
- 六年级下册《劳动与技术》全册教案
- 矿安标字〔2006〕55号- 山东煤矿安全监察局-首页
- 压缩语段之(新闻标题、导语、一句话新闻、评论) 学案
- 06-07-2仪器分析试卷05-B
- 中国深雕玻璃行业市场前景分析预测年度报告(目录) - 图文
- 《临床肿瘤学》名词解释答案
- 辽宁省东北育才学校2017-2018学年高三上学期第二次模拟考试 物理
- 《工程测量学》课件 第一章 1-3工业企业对地形图的要求
- 《二手车买卖合同》 - 图文
- 最新西师大版2017-2018学年小学语文五年级上册《一只
- 第二单元 圆柱和圆锥(苏教版六年级下)
- (天津市名校试卷合集)2019届七年级初一数学期中考试卷18份word
- 年产90吨紫菜工厂设计
- 4.0管理制度(技术管理手册)
- 小学森林防火安全教案
- 八年级上册语文专题复习汇编