蓝桥杯经典例题(Java语言实现)

上传人:积*** 文档编号:122275764 上传时间:2022-07-20 格式:DOC 页数:73 大小:604KB
返回 下载 相关 举报
蓝桥杯经典例题(Java语言实现)_第1页
第1页 / 共73页
蓝桥杯经典例题(Java语言实现)_第2页
第2页 / 共73页
蓝桥杯经典例题(Java语言实现)_第3页
第3页 / 共73页
点击查看更多>>
资源描述
1. Fibonacci数列import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubScanner sca = new Scanner(System.in);int i = sca.nextInt();int s = new inti+1;s1 = s2= 1;for (int j = 3; j = i; j+) sj = (sj - 1 + sj - 2) % 10007;System.out.println(si);2. 圆的面积 import java.util.Scanner;public class Main public static void main(String args) Scanner sca = new Scanner(System.in);int r = sca.nextInt();double PI=Math.PI;double S=PI*r*r;String result=String.format(%.7f, S);/四舍五入System.out.println(result);result=String.format(%.8f, S).substring(0, (S+).indexOf(.)+8);/不进行四舍五入,现取9位小数,再截取8位System.out.println(result);3.序列求和import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubScanner sca = new Scanner(System.in);long n = sca.nextInt();long result=(1+n)*n/2;System.out.println(result);递归实现:import java.util.Scanner;public class Main static int sum=0;public static void main(String args) / TODO Auto-generated method stubScanner sca = new Scanner(System.in);int n = sca.nextInt();System.out.println(f(n);private static int f(int n) / TODO Auto-generated method stubif(n=1)return 1;return n+f(n-1);4.闰年判断 当如下状况之一满足时,这一年是闰年:1. 年份是4的倍数而不是100的倍数;2. 年份是400的倍数。其她的年份都不是闰年。样例输入样例输出no样例输入样例输出yes数据规模与商定1990 = y = 2050。import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubScanner sc = new Scanner(System.in);int year = sc.nextInt();if (year % 4 = 0 & year % 100 != 0)System.out.println(yes);else if(year%400=0)System.out.println(yes);elseSystem.out.println(no);5.01字串import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubfor (int i = 0; i 2; i+) for (int j = 0; j 2; j+) for (int k = 0; k 2; k+) for (int l = 0; l 2; l+) for (int m = 0; m 2; m+) StringBuffer str = new StringBuffer();System.out.println(str.append(i).append(j).append(k).append(l).append(m);6.字母图形import java.util.Scanner;public class Main public static void main(String args) Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();char cha = new charm + 1;for (int i = 1; i = m; i+) chai = (char) (A + i - 1);for (int i = 1; i = n; i+) for (int j = 1; j = j) chaj = (char) (chaj + 1); else chaj = (char) (chaj - 1); System.out.println();6.数列特性import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubScanner sc = new Scanner(System.in);int n = sc.nextInt();int a=new intn;for (int i = 0; i a.length; i+) ai=sc.nextInt();java.util.Arrays.sort(a);System.out.println(an-1);System.out.println(a0);int sum=0;for (int i = 0; i a.length; i+) sum+=ai;System.out.println(sum);7.查找整数 import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubScanner sc = new Scanner(System.in);int n = sc.nextInt();int a=new intn;for (int i = 0; i a.length; i+) ai=sc.nextInt();int key=sc.nextInt();int jie=-2;for (int i = 0; i a.length; i+) if(key=ai)jie=i;break;System.out.println(jie+1)8.杨辉三角import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubScanner sc = new Scanner(System.in);int n = sc.nextInt();long t1=System.currentTimeMillis();int a=new intnn;for (int i = 0; i n; i+) for (int j = 0; j i+1; j+) if(i=0|i=j|j=0)aij=1;elseaij=ai-1j+ai-1j-1;System.out.print(aij+ ); System.out.println(); long t2=System.currentTimeMillis();9.特殊的数字import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stublong t1 = System.currentTimeMillis();for (int n = 100; n 999; n+) String str = String.valueOf(n);char ch = str.toCharArray();int in = new intch.length;for (int i = 0; i 3; i+) ini = Integer.parseInt(chi + );if (in0 * in0 * in0 + in1 * in1 * in1 + in2 * in2* in2 = n) System.out.println(n);long t2 = System.currentTimeMillis();/System.out.println(t2 - t1);10.回文数 import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stublong t1 = System.currentTimeMillis();for (int i = 1; i = 9; i+) for (int j = 0; j = 9; j+) StringBuffer str = new StringBuffer();str = str.append(i).append(j).append(j).append(i);System.out.println(str);long t2 = System.currentTimeMillis();/ System.out.println(t2 - t1);11.特殊回文数 import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubScanner sca=new Scanner(System.in);int in=sca.nextInt();for (int i = 1; i 10; i+) for (int j = 0; j 10; j+) for (int k = 0; k 10; k+) if(i*2+j*2+k=in)System.out.println(i*10000+j*1000+k*100+j*10+i);for (int i = 1; i 10; i+) for (int j = 0; j 10; j+) for (int k = 0; k 0)int t=in%16;switch (t) case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:s.append(t+);break;case 10:s.append(A);break;case 11:s.append(B);break;case 12:s.append(C);break;case 13:s.append(D);break;case 14:s.append(E);break;case 15:s.append(F);break;in=in/16;System.out.println(s.reverse(); 13.十六进制转十进制 import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubScanner sca = new Scanner(System.in);String str = sca.nextLine();char ch = str.toCharArray();long sum = 0;int l=ch.length;for (int i = 0; i = A) sum = (long) (sum + Math.pow(16,l-i-1 ) * (chi - A + 10); else sum = (long) (sum + Math.pow(16, l-i-1) * Integer.parseInt(chi+); System.out.println(sum);14.数列排序 import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubScanner sc = new Scanner(System.in);int sum = sc.nextInt();int a=new intsum;for (int i = 0; i sum; i+) ai=sc.nextInt();java.util.Arrays.sort(a);for (int i = 0; i a.length; i+) System.out.print(ai+ );15.2的次幂表达 锦囊1锦囊2锦囊3import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubScanner sca = new Scanner(System.in);int i = sca.nextInt();f(i);private static void f(int x) / TODO Auto-generated method stubif (x = 0) return;if (x = 1) System.out.print(2(0);return;if (x = 2) System.out.print(2);return;if (x = 3) System.out.print(2+2(0);return;int jie = 0;for (int i = 0; i x) jie = i - 1;break;System.out.print(2();f(jie);System.out.print();int y = x - (int) (Math.pow(2, jie);if(y!=0)System.out.print(+);f(y);return;16.Anagrams问题 锦囊1锦囊2锦囊3问题描述Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一种英文字母(不辨别大小写)所浮现的次数都是相似的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一种程序,输入两个单词,然后判断一下,这两个单词与否是Anagrams。每一种单词的长度不会超过80个字符,并且是大小写无关的。输入格式:输入有两行,分别为两个单词。输出格式:输出只有一种字母Y或N,分别表达Yes和No。输入输出样例样例输入UnclearNuclear样例输出Yimport java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubScanner sca = new Scanner(System.in);String str1 = sca.nextLine();String str2= sca.nextLine();str1=str1.toLowerCase();str2=str2.toLowerCase();char ch1=str1.toCharArray();char ch2=str2.toCharArray();java.util.Arrays.sort(ch1);java.util.Arrays.sort(ch2);String str3=new String(ch1);String str4=new String(ch2);if(str3.equals(str4)System.out.println(Y);elseSystem.out.println(N);17.矩阵乘法 时间限制:1.0s 内存限制:512.0MB 锦囊1锦囊2锦囊3问题描述输入两个矩阵,分别是m*s,s*n大小。输出两个矩阵相乘的成果。输入格式第一行,空格隔开的三个正整数m,s,n(均不超过200)。接下来m行,每行s个空格隔开的整数,表达矩阵A(i,j)。接下来s行,每行n个空格隔开的整数,表达矩阵B(i,j)。输出格式m行,每行n个空格隔开的整数,输出相乘後的矩阵C(i,j)的值。样例输入2 3 21 0 -11 1 -30 31 23 1样例输出-3 2-8 2提示矩阵C应当是m行n列,其中C(i,j)等于矩阵A第i行行向量与矩阵B第j列列向量的内积。例如样例中C(1,1)=(1,0,-1)*(0,1,3) = 1 * 0 +0*1+(-1)*3=-3import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubScanner sca = new Scanner(System.in);int m = sca.nextInt();int s = sca.nextInt();int n = sca.nextInt();int a = new intm + 1s + 1;int b = new ints + 1n + 1;for (int i = 1; i m + 1; i+) for (int j = 1; j s + 1; j+) aij = sca.nextInt();for (int i = 1; i s + 1; i+) for (int j = 1; j n + 1; j+) bij = sca.nextInt();int sum = 0;for (int i = 1; i m + 1; i+) for (int j = 1; j n + 1; j+) sum = 0;for (int k = 1; k s + 1; k+) sum = sum + aik * bkj;System.out.print(sum + );System.out.println();18.大小写转换 时间限制:1.0s 内存限制:512.0MB 锦囊1锦囊2锦囊3问题描述编写一种程序,输入一种字符串(长度不超过20),然后把这个字符串内的每一种字符进行大小写变换,即将大写字母变成小写,小写字母变成大写,然后把这个新的字符串输出。输入格式:输入一种字符串,并且这个字符串当中只涉及英文字母,不涉及其她类型的字符,也没有空格。输出格式:输出通过转换后的字符串。输入输出样例样例输入AeDb样例输出aEdBimport java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubScanner sca = new Scanner(System.in);String str=sca.nextLine();char ch=str.toCharArray();for (int i = 0; i =A&chi=Z)chi=(char) (chi+32);elsechi=(char) (chi-32);for (int i = 0; i ch.length; i+) System.out.print(chi+);19.动态数组使用 锦囊1锦囊2锦囊3从键盘读入n个整数,使用动态数组存储所读入的整数,并计算它们的和与平均值分别输出。规定尽量使用函数实现程序代码。平均值为小数的只保存其整数部分。样例输入53 4 0 0 2样例输出9 1样例输入73 2 7 5 2 9 1样例输出29 4import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubScanner sca = new Scanner(System.in);int num=sca.nextInt();int a=new intnum;for (int i = 0; i a.length; i+) ai=sca.nextInt();int sum=0;for (int i = 0; i a.length; i+) sum+=ai;int avg=sum/num;System.out.println(sum+ +avg);20.删除数组零元素 锦囊1锦囊2锦囊3从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。输出删除后数组中元素的个数并依次输出数组元素。样例输入: (输入格式阐明:5为输入数据的个数,3 4 0 0 2 是以空格隔开的5个整数)53 4 0 0 2样例输出:(输出格式阐明:3为非零数据的个数,3 4 2 是以空格隔开的3个非零整数)33 4 2样例输入70 0 7 0 0 9 0样例输出27 9样例输入30 0 0样例输出0import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubScanner sca = new Scanner(System.in);int num=sca.nextInt();int a=new intnum;for (int i = 0; i a.length; i+) ai=sca.nextInt();int b=new intnum;int nu=0;for (int i = 0; i a.length; i+) if(ai!=0)bnu=ai;nu+;System.out.println(nu);for (int i = 0; i nu; i+) System.out.print(bi+ );21.Torry的困惑(基本型) 问题描述Torry从小爱慕数学。一天,教师告诉她,像2、3、5、7这样的数叫做质数。Torry忽然想到一种问题,前10、100、1000、10000个质数的乘积是多少呢?她把这个问题告诉教师。教师愣住了,一时回答不出来。于是Torry求助于会编程的你,请你算出前n个质数的乘积。但是,考虑到你才接触编程不久,Torry只要你算出这个数模上50000的值。输入格式仅涉及一种正整数n,其中n=100000。输出格式输出一行,即前n个质数的乘积模50000的值。样例输入 1样例输出 2import java.util.Scanner;public class Main public static void main(String args) Scanner sca = new Scanner(System.in);int n=sca.nextInt();int num=0;int result=1;int i=2;while(numn)if(whetherZhi(i)num+;result=(result*i)%50000;i+;System.out.println(result);private static boolean whetherZhi(int x) / TODO Auto-generated method stubfor(int i=2;ix;i+)if(x%i=0)return false;return true;22. 巧排螺旋阵从键盘输入一种整数(120)则以该数字为矩阵的大小,把1,2,3n*n 的数字按照顺时针螺旋的形式填入其中。例如:输入数字2,则程序输出:1 24 3输入数字3,则程序输出:1 2 38 9 47 6 5输入数字4, 则程序输出:1 2 3 412 13 14 511 16 15 610 9 8 7import java.util.Scanner;public class Main static int num = 1;static int a;public static void main(String args) / TODO Auto-generated method stubScanner sca = new Scanner(System.in);int n = sca.nextInt();long l1=System.currentTimeMillis();a = new intnn;print(0, a.length);for (int i = 0; i a.length; i+) for (int j = 0; j a.length; j+) if (aij y) return;for (int i = x; i y; i+) axi = num;num+;for (int i = x + 1; i = x; i-) ay - 1i = num;num+;for (int i = y - 2; i x; i-) aix = num;num+;print(x + 1, y - 1);import java.util.Scanner;public class Main private static Scanner sca;public static void main(String args) sca = new Scanner(System.in);int n=sca.nextInt();int a=new intnn;f(a,0,0,1,0);for (int i = 0; i a.length; i+) for (int j = 0; j a.length; j+) if(aija.length*a.length)return;axy=t;if(p=0)if(y+1)a.length&axy+1=0)f(a,x,y+1,t+1,0);elseif(x+1)a.length)f(a,x+1,y,t+1,1);if(p=1)if(x+1)=0)f(a,x,y-1,t+1,2);if(p=2)if(y-1)=0&axy-1=0)f(a,x,y-1,t+1,2);elseif(x-1)=0)f(a,x-1,y,t+1,3);if(p=3)if(x-1)=0&ax-1y=0)f(a,x-1,y,t+1,3);elseif(y+1)a.length)f(a,x,y+1,t+1,0);23.当你输入信用卡号码的时候,有无紧张输错了而导致损失呢?其实可以不必这样紧张,由于并不是一种随便的信用卡号码都是合法的,它必须通过Luhn算法来验证通过。该校验的过程:1、从卡号最后一位数字开始,逆向将奇数位(1、3、5等等)相加。2、从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,则将其减去9),再求和。3、将奇数位总和加上偶数位总和,成果应当可以被10整除。例如,卡号是:8881则奇数、偶数位(用红色标出)分布:8881奇数位和=35偶数位乘以2(有些要减去9)的成果:1 6 2 6 1 5 7 7,求和=35。最后35+35=70 可以被10整除,认定校验通过。请编写一种程序,从键盘输入卡号,然后判断与否校验通过。通过显示:“成功”,否则显示“失败”。例如,顾客输入:780程序输出:成功import java.util.Scanner;public class Main /* * param args */static int num = 1;static int a;public static void main(String args) / TODO Auto-generated method stubScanner sca = new Scanner(System.in);String str = sca.next();int a = new intstr.length();for (int i = 0; i a.length; i+) ai = Integer.parseInt(str.charAt(a.length - i - 1) + );int sum = 0;for (int i = 0; i a.length; i = i + 2) sum += ai;for (int i = 1; i 9) temp -= 9;sum+=temp;if(sum%10=0)System.out.println(对的);elseSystem.out.println(错误);24.串把abcd.s共19个字母构成的序列反复拼接106次,得到长度为的串。 接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。 得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩余一种字母,请写出该字母。public class Main public static void main(String args) / TODO Auto-generated method stubStringBuffer str=new StringBuffer();for (int i = 0; i 106; i+) for (int j = 0; j 19; j+) str.append(char) (a + j);System.out.println(str);change(str);private static void change(StringBuffer str) / TODO Auto-generated method stubif(str.length()=1) return;StringBuffer str2=new StringBuffer();for (int i = 1; i str.length(); i=i+2) str2.append(str.charAt(i);System.out.println(str2);change(str2);25.浮现次数最多的整数import java.util.Scanner;public class Main public static void main(String args) Scanner sca = new Scanner(System.in);int n = sca.nextInt();if(n=0)return;int in = new intn2;for (int i = 0; i in.length; i+) ini1 = 1;for (int i = 0; i in.length; i+) ini0 = sca.nextInt();for (int i = 0; i = 0; i-) if (inmax1 = ini1) max = i;System.out.println(inmax0);措施二:import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubScanner sca=new Scanner(System.in);int m=sca.nextInt();int a=new intm;a0=sca.nextInt();int x=a0;int time=1;int tmax=1;for (int i = 1; i a.length; i+) ai=sca.nextInt();if(ai=ai-1)time+;elseif(tmaxtime)x=ai-1;tmax=time;time=1;System.out.println(x);26.子串记录import java.util.Scanner;public class Main public static void main(String args) Scanner sca = new Scanner(System.in);int n = sca.nextInt();int t = 0;int aa = 0;String str = sca.next();int time = new intstr.length() - n + 1;String string = new Stringstr.length() - n + 1;for (int i = 0; i time.length; i+) timei = 1;
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!