蓝桥杯Java历年真题与答案_蓝桥杯大赛java历年真题及答案整理(闭关一个月呕心沥血整理出来的)...

本文作者花费一个月时间精心整理了蓝桥杯大赛的Java历年真题及答案,涵盖全排列算法、数字矩阵变换、电话号码评分等多个题目,旨在帮助备考者深入理解和实践Java算法。
摘要由CSDN通过智能技术生成

41528d3028836879cd698677c3999917.gif蓝桥杯大赛java历年真题及答案整理(闭关一个月呕心沥血整理出来的)

1蓝桥杯 java 历年真题及答案整理(闭关一个月,呕心沥血整理出来的)1. 算法是这样的,如果给定 N 个不同字符,将这 N 个字符全排列,最终的结果将会是 N!种。如:给定 A、B、C 三个不同的字符,则结果为:ABC 、ACB、BAC 、 BCA、CAB、CBA 一共 3!=3*2=6 种情况。package Question1_9;import java.util.Scanner;import java.util.Vector;public class Question1 {public static long count=0;private void fullPermutation(Vectorsourse, Vector result) {if(sourse.size()==0){for (int i = 0; i tsourse=new Vector(sourse);Vectortresult=new Vector(result);tresult.add(sourse.elementAt(i));tsourse.remove(i);new Question1().fullPermutation(tsourse, tresult);}}public static void main(String[] args) {Scanner scanner=new Scanner(System.in);int n=scanner.nextInt();Vector sourse=new Vector();Vector result=new Vector();for (int i = 0; i vector=new Vector();for (int i = 0; i = a private static boolean isfilter(Vector result) {int a=(result.elementAt(0)- 0 )*10+(result.elementAt(1)- 0 );int b=(result.elementAt(2)- 0 )*10+(result.elementAt(3)- 0 );int c=(result.elementAt(4)- 0 )*10+(result.elementAt(5)- 0 );int d=(result.elementAt(6)- 0 )*100+(result.elementAt(7)- 0 )*10+(result.elementAt(8)- 0 );if(a*b==c*d){return true;}return false;}public static void print(Vectorvector) {5System.out.printf(“%c%c x %c%c = %c%c x %c%c%c“,vector.elementAt(0),vector.elementAt(1),vector.elementAt(2),vector.elementAt(3),vector.elementAt(4),vector.elementAt(5),vector.elementAt(6),vector.elementAt(7),vector.elementAt(8));}private static void fullPermutation(Vector sourse, Vector result) {if(sourse.size()==0for (int i = 0; i (result));}return;}for (int i = 0; i sourse=new Vector();Vector result=new Vector();for (int i = 1; i ();Question3.fullPermutation(sourse, result);for (int i = 0; i 0) {String string=scanner.nextLine();String strings[]=string.split(“C“);strings[0]=strings[0].substring(1, strings[0].length());int hangshu=Integer.parseInt(strings[0]),lieshu=Integer.parseInt(strings[1]);//获取行数和列数/** 对列数进行变换*/Stackstack=new Stack();while(lieshu0){if(lieshu%26==0){stack.push( Z );lieshu=lieshu/26-1;}else {stack.push((char)( A -1+lieshu%26));lieshu=lieshu/26;}}while (!stack.empty()) {System.out.print(stack.pop());}System.out.println(hangshu);n--;}}}运行结果:输入一个整数 n(n0) {String telphone=scanner.nextLine();int sum=0;/** 情况一*/if(telphone.charAt(0)-telphone.charAt(1)==1){char ch=telphone.charAt(0);int index=0;while (index=4){sum+=5;}}if (telphone.charAt(0)-telphone.charAt(1)==-1) {char ch=telphone.charAt(0);int index=0;while (index=4){sum+=5;}}/** 情况二*/if (telphone.charAt(0)==telphone.charAt(1)}if(telphone.charAt(1)==telphone.charAt(2)}/** 情况三*/10if(telphone.charAt(0)==telphone.charAt(1)}if(telphone.charAt(0)==telphone.charAt(2)}/** 情况四*/for (int i = 0; i a = new Stack();for (int i = 0; i = 0 }if(used==size){//size位全部分配完毕if(pareTo(MIN)=0){for (int i = 0; i 0){return;}usedTimes[arrayIndex]=i;exhaustion(arrayIndex-1, used+i,current.add(iPowSizeMultiplyj[arrayIndex][i]));usedTimes[arrayIndex]=0;}}else {return;//1到 9已分配完毕, 不可再延伸了}}public static void main(String[] args) {// Scanner scanner = new Scanner(System.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值