温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java蓝桥杯试题

发布时间:2020-10-02 18:01:36 来源:脚本之家 阅读:309 作者:clmmei_123 栏目:编程语言

因为要参加蓝桥杯,琢磨了一下算法,原来数学不好是这么难搞:下面是一些蓝桥杯的试题(习题)。我用的是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   这样的关系的分类才符合题目的要求}

java蓝桥杯试题

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<=c<=d并对所有的可能表示法按 a,b,c,d为联合主键升序排列,最后输出第一个表示法。程序输入为一个正整数N(N<5000000),要求输出4个非负整数,按从小到大排序,中间用空格分开,如,输入5
则程序输出:
0 0 1 2

资源约定:
峰值内存消耗(含虚拟机) < 256M   CPU消耗  < 3000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。

java蓝桥杯试题

(这里演示了没有用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<w;i++){
			c[i]=a[l-1];
			l+=1;
			if(l==(r+1))//当l==r+1时,区间序列达到最后一个
				break;
		}
		int small;
		for(i=0;i<c.length;i++){
			for(j=i+1;j<c.length;j++){
				if(c[i]<c[j]){
					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.in);
		
		int n=in.nextInt();//序列的个数
		//给定序列
		int array[]=new int[n];
		int i,j;
		for(i=0;i<n;i++){
			array[i]=in.nextInt();
		}
		//区间个数
		int m=in.nextInt();
		//l r k
		int[] bArray[]=new int[m][3];
		for(i=0;i<m;i++){
			for(j=0;j<3;j++){
				bArray[i][j]=in.nextInt();
			}
		}
		MainR w;
		for(i=0;i<m;i++){
			w=new MainR();
			w.findK(array, bArray[i]);
		}
		in.close();
	}
 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI