java蓝桥杯试题

网友投稿 373 2022-12-14


java蓝桥杯试题

因为要参加蓝桥杯,琢磨了一下算法,原来数学不好是这么难搞:下面是一些蓝桥杯的试题(习题)。我用的是java ,我看网上的人多数用的是c语言。有更好的方法希望可以分享一下下。

1.      有50枚硬币,可能包括4种类型:1元,5角,1角,5分。已知总价值为20元。求各种硬币的数量。

比如:2,34,6,8 就是一种答案。

而 2,33,15,0 是另一个可能的答案,显然答案不唯一。

你的任务是确定类似这样的不同的方案一共有多少个(包括已经给出的2个)?

{ 可以看出这里的硬币数量和存在着 1元20+5角10+1角2+5分=400   这样的关系的分类才符合题目的要求}

2.四平方和(程序设计)四平方和的定理又称拉格朗日定理:每个正整数都可以表示至多4个正整数的平方和。如果把0包括进去,就可以表示为4个数的平方和。

比如:

   5=0^2+0^2+1^2+2^2         7=1^2+1^2+1^2+2^2

对于一个给定的正整数,可能存在多种平方和的表示法。要求你4个数排序:   0<=a<=b

则程序输出:

0 0 1 2

资源约定:

峰值内存消耗(含虚拟机) < 256M   CPU消耗  < 3000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。

(这里演示了没有用return 的情况,结果会把多种情况输出,我们的最终答案只要第一中升序结果,所以,做题时一定要看清题目,这里是给我自己的忠告。)

3.区间第K大的数

1.第一行输入序列的个数n

2.第二行输入一个序列

3.第三行输入区间个数

4.输入l ,r,k; l :区间的开始 r : 区间的结束 k ; 第k个大的数

下标从1开始

import java.util.Scanner;

public class MainR {

/*寻找第k大的数*/

public void findK(int a[],int b[]){

int l,r,k,i,j;

l=b[0];

r=b[1];

k=b[2];

int w=r-l+1;

int[] c=new int[w];//存放区间的序列

for(i=0;i

c[i]=a[l-1];

l+=1;

if(l==(r+1))//当l==r+1时,区间序列达到最后一个

break;

}

int small;

for(i=0;i

for(j=i+1;j

if(c[i]

small=c[i];

c[i]=c[j];

c[j]=small;

}

}

}

System.out.println(c[k-1]);

}

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner in=new Scanner(System.inQvUzsJcTC);

int n=in.nextInt();//序列的个数

//给定序列

int array[]=new int[n];

int i,j;

for(i=0;i

array[i]=in.nextInt();

}

//区间个数

int m=in.nextInt();

//l r k

int[] bArray[]=new int[m][3];

for(i=0;i

for(j=0;j<3;j++){

bArray[i][j]=in.nextInt();

}

}

MainR w;

for(i=0;i

w=new MainR();

w.findK(array, bArray[i]);

}

in.close();

}

}

则程序输出:

0 0 1 2

资源约定:

峰值内存消耗(含虚拟机) < 256M   CPU消耗  < 3000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。

(这里演示了没有用return 的情况,结果会把多种情况输出,我们的最终答案只要第一中升序结果,所以,做题时一定要看清题目,这里是给我自己的忠告。)

3.区间第K大的数

1.第一行输入序列的个数n

2.第二行输入一个序列

3.第三行输入区间个数

4.输入l ,r,k; l :区间的开始 r : 区间的结束 k ; 第k个大的数

下标从1开始

import java.util.Scanner;

public class MainR {

/*寻找第k大的数*/

public void findK(int a[],int b[]){

int l,r,k,i,j;

l=b[0];

r=b[1];

k=b[2];

int w=r-l+1;

int[] c=new int[w];//存放区间的序列

for(i=0;i

c[i]=a[l-1];

l+=1;

if(l==(r+1))//当l==r+1时,区间序列达到最后一个

break;

}

int small;

for(i=0;i

for(j=i+1;j

if(c[i]

small=c[i];

c[i]=c[j];

c[j]=small;

}

}

}

System.out.println(c[k-1]);

}

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner in=new Scanner(System.inQvUzsJcTC);

int n=in.nextInt();//序列的个数

//给定序列

int array[]=new int[n];

int i,j;

for(i=0;i

array[i]=in.nextInt();

}

//区间个数

int m=in.nextInt();

//l r k

int[] bArray[]=new int[m][3];

for(i=0;i

for(j=0;j<3;j++){

bArray[i][j]=in.nextInt();

}

}

MainR w;

for(i=0;i

w=new MainR();

w.findK(array, bArray[i]);

}

in.close();

}

}

c[i]=a[l-1];

l+=1;

if(l==(r+1))//当l==r+1时,区间序列达到最后一个

break;

}

int small;

for(i=0;i

for(j=i+1;j

if(c[i]

small=c[i];

c[i]=c[j];

c[j]=small;

}

}

}

System.out.println(c[k-1]);

}

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner in=new Scanner(System.inQvUzsJcTC);

int n=in.nextInt();//序列的个数

//给定序列

int array[]=new int[n];

int i,j;

for(i=0;i

array[i]=in.nextInt();

}

//区间个数

int m=in.nextInt();

//l r k

int[] bArray[]=new int[m][3];

for(i=0;i

for(j=0;j<3;j++){

bArray[i][j]=in.nextInt();

}

}

MainR w;

for(i=0;i

w=new MainR();

w.findK(array, bArray[i]);

}

in.close();

}

}

for(j=i+1;j

if(c[i]

small=c[i];

c[i]=c[j];

c[j]=small;

}

}

}

System.out.println(c[k-1]);

}

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner in=new Scanner(System.inQvUzsJcTC);

int n=in.nextInt();//序列的个数

//给定序列

int array[]=new int[n];

int i,j;

for(i=0;i

array[i]=in.nextInt();

}

//区间个数

int m=in.nextInt();

//l r k

int[] bArray[]=new int[m][3];

for(i=0;i

for(j=0;j<3;j++){

bArray[i][j]=in.nextInt();

}

}

MainR w;

for(i=0;i

w=new MainR();

w.findK(array, bArray[i]);

}

in.close();

}

}

if(c[i]

small=c[i];

c[i]=c[j];

c[j]=small;

}

}

}

System.out.println(c[k-1]);

}

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner in=new Scanner(System.inQvUzsJcTC);

int n=in.nextInt();//序列的个数

//给定序列

int array[]=new int[n];

int i,j;

for(i=0;i

array[i]=in.nextInt();

}

//区间个数

int m=in.nextInt();

//l r k

int[] bArray[]=new int[m][3];

for(i=0;i

for(j=0;j<3;j++){

bArray[i][j]=in.nextInt();

}

}

MainR w;

for(i=0;i

w=new MainR();

w.findK(array, bArray[i]);

}

in.close();

}

}

small=c[i];

c[i]=c[j];

c[j]=small;

}

}

}

System.out.println(c[k-1]);

}

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner in=new Scanner(System.inQvUzsJcTC);

int n=in.nextInt();//序列的个数

//给定序列

int array[]=new int[n];

int i,j;

for(i=0;i

array[i]=in.nextInt();

}

//区间个数

int m=in.nextInt();

//l r k

int[] bArray[]=new int[m][3];

for(i=0;i

for(j=0;j<3;j++){

bArray[i][j]=in.nextInt();

}

}

MainR w;

for(i=0;i

w=new MainR();

w.findK(array, bArray[i]);

}

in.close();

}

}

array[i]=in.nextInt();

}

//区间个数

int m=in.nextInt();

//l r k

int[] bArray[]=new int[m][3];

for(i=0;i

for(j=0;j<3;j++){

bArray[i][j]=in.nextInt();

}

}

MainR w;

for(i=0;i

w=new MainR();

w.findK(array, bArray[i]);

}

in.close();

}

}

for(j=0;j<3;j++){

bArray[i][j]=in.nextInt();

}

}

MainR w;

for(i=0;i

w=new MainR();

w.findK(array, bArray[i]);

}

in.close();

}

}

w=new MainR();

w.findK(array, bArray[i]);

}

in.close();

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:JAVA使用TreeMap对字符串进行排序
下一篇:Spring Boot中的Properties的使用详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~