2020年第十一届蓝桥杯javaA组答案解析(部分)

6 篇文章 0 订阅
4 篇文章 0 订阅

一、门牌制作

package _2020_Java_A;
import java.util.*;
public class _01门牌 {

	private static int ans;

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for(int i=1;i<=2020;i++) {
			ans += num(i);
		}
		System.out.print(ans);
	}

	private static int num(int n) {
		// TODO Auto-generated method stub
		int ans = 0;
		while(n!=0) {
			int m = n%10;//取最低位
			if(m==2) ans ++;
			n = n/10;
		}
		return ans;
	}
//624
}

二、分数

package _2020_Java_A;
import java.util.*;
public class _02分数 {

	private static int ans;

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for(int i=1;i<=2020;i++) {
			for(int j=1;j<=2020;j++) {
				if(gcd(i,j)==1) ans ++;
			}
		}
		System.out.print(ans);
	}

	private static int gcd(int m, int n) {
		// TODO Auto-generated method stub
		if(m==0)return n;
		else return gcd(n%m,m);
	}
//2481215
}

三、蛇形填数

package _2020_Java_A;

public class _03C填数 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int n = 20;
		int ans = 0;
		for(int i=1;i<=2*n-2;i++) {
			//前面的2n-2长
			ans += i;
		}
		ans += n;
		System.out.print(ans);
	}
//761
}

六、成绩分析

package _2020_Java_A;
import java.util.*;
public class _06F成绩 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int n  = sc.nextInt();
		int [] s = new int[n];//存放成绩
		float avg;
		float total = 0;
		int max = Integer.MIN_VALUE;
		int min = Integer.MAX_VALUE;
		for(int i=0;i<n;i++) {
			s[i] = sc.nextInt();
			if(s[i]>max) max = s[i];
			if(s[i]<min) min = s[i];
			total += s[i];
		}
		avg = total/n;
		System.out.println(max);
		System.out.println(min);
		System.out.printf("%.2f\n",avg);
		sc.close();
	}

}

七、回文日期

package _2020_Java_A;
import java.util.*;
import java.text.*;
public class _07G回文日期 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		String str = sc.next();
		Calendar c = Calendar.getInstance();
		int year = Integer.parseInt(str.substring(0, 4));
		int month = Integer.parseInt(str.substring(4, 6));
		int date = Integer.parseInt(str.substring(6, 8));
		c.set(year, month,date);
		boolean flag = false;
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
		while(true) {
			c.add(Calendar.DAY_OF_YEAR, 1);
			String ans = sdf.format(c.getTime());
			if(huiwen(ans)) {
				if(!flag) {
					System.out.println(ans);
					flag = true;
				}
				if(AB(ans)) {
					System.out.println(ans);
					break;
				}
			}
		}
		sc.close();
	}

	private static boolean AB(String ans) {
		// TODO Auto-generated method stub
		return ans.charAt(0)==ans.charAt(2)&&ans.charAt(1)==ans.charAt(3);
	}

	private static boolean huiwen(String ans) {
		// TODO Auto-generated method stub
		StringBuffer res = new StringBuffer(ans);
		return ans.equals(res.reverse().toString());
	}

}

八、字串分值

package _2020_Java_A;
import java.util.*;
public class _08H字串分值 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		String str = sc.next();
		int ans = f(str);
		System.out.print(ans);
		sc.close();
	}

	private static int f(String str) {
		// TODO Auto-generated method stub
		char[] ch = str.toCharArray();
		int n = ch.length;
		int res = 0;
		int i,j,k;
		for (i = 0; i < n; i++) {
			for (j = i - 1; j >= 0; j--) {
				if (ch[j] == ch[i])
					break;
			}
			for (k = i + 1; k < n; k++) {
				if (ch[k] == ch[i])
					break;
			}
			res += (k-i)*(i-j);
		}
		return res;
	}

}

我是小菜鸟,我只会暴力

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2022蓝桥杯Java A是中国著名的计算机竞赛之一,该比赛旨在发掘和培养优秀的Java程序设计人才。参赛者需要具备一定的Java编程基础和算法思维能力,通过解决一系列实际问题来展示自己的技术水平。 蓝桥杯Java A比赛内容将涉及Java语言基础知识、面向对象编程、数据结构与算法、数据库等方面。参赛选手需要通过模拟真实的工作场景,设计和实现各种功能模块,展现出自己解决问题的能力和代码的优雅性。 蓝桥杯Java A比赛对于参赛者来说是一次难得的锻炼机会。通过参加比赛,可以学习到实际项目中常用的技术和解决问题的思路,提高自己的编程能力。同时,这也是一个展示自己才华和与其他选手竞争的舞台,可以通过与其他优秀选手的交流互动,拓宽自己的视野,并且与同龄人一起追求计算机编程的进步。 参加蓝桥杯Java A比赛,不仅可以提升自己的技术能力,还能为自己的未来发展增加一份宝贵的竞赛经验。很多优秀的程序员和企业都非常看重蓝桥杯的参赛者,因为这代表着他们在编程领域具备一定的实力和潜力。 总而言之,参加2022蓝桥杯Java A是一个对自己实力的检验和提高的机会,同时也是一个与其他优秀选手竞争的平台,可以通过比赛锻炼自己的技术能力和解决问题的能力。参赛者在比赛中要保持冷静和耐心,学会与其他选手交流和合作,相信通过努力,一定能够在比赛中取得好的成绩。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值