每日一句:天行健,君子以自強不息,地勢坤,君子以厚德载物。
前言:立个flag,欢迎各位同学,大佬指导,一起探讨。
蓝桥杯官方网站:蓝桥杯大赛——全国大学生TMT行业赛事 (lanqiao.cn)
目录
报名须知:
第一天(基础入门10题)
一、特殊的数字1
二、进制转换
三、闰年统计【2000-6000】
四、平年判断【3000-9000】简单粗暴理解:就是非闰年
五、猴子吃桃
六、水仙花数
七、等级判断
八、素数判断
九、合数判断(非素数)
十、三数最大
报名须知:
特别注意:
古人有云:“工欲善其事,必先利其器”,下图是Java组使用的编程环境:Eclipse2020.06版
下载地址:
学生机环境-Java编程环境(第十二届大赛)
链接: https://pan.baidu.com/s/1nZ1UVoPA1kbRGVrpUxqRSw 提取码: 5bmi
第一天(基础入门10题)
一、特殊的数字1
题目:获得所有四位数中能被3整除且能被5整除且不能被7整除的奇数,并求出它们的和对于2020的余数。
难点:如何将一个数的每一位分割出来
代码:
public class Main{
public static void main(String[] args) {
int sum = 0;
for (int i = 1000; i < 10000; i++) {
if (i % 3 == 0 && i % 5 == 0 && i % 7 != 0) {
if(i % 2 == 1) {
System.out.println(i);
sum += i;
}
}
}
System.out.println(sum % 2020);
}
}
二、进制转换
import java.util.Scanner;
//进制转换
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.printf("%o\n",n);
System.out.printf("%x",n);
}
}
三、闰年统计【2000-6000】
要求:十位为奇数的闰年数之和
public class Main{
public static void main(String[] args) {
int cnt = 0;
for (int i = 2000; i <= 6000; i++) {
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
if ((i / 10 % 10) % 2 == 1) {
cnt++;
}
}
}
System.out.println(cnt);
}
}
四、平年判断【3000-9000】简单粗暴理解:就是非闰年
注意:求个位和百位相等的总数和
public class Main{
public static void main(String[] args) {
int cnt = 0;
for (int i = 3000; i <= 9000; i++) {
if (!(i % 4 == 0 && i % 100 != 0 || i % 400 ==0 )) {
if ((i / 10 % 10) == (i / 100 % 10)) {
cnt++;
}
}
}
System.out.println(cnt);
}
}
五、猴子吃桃
题目:猴子第一天摘下若干个桃子,当即吃了一半,然后又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子?
public class Main{
public static void main(String[] args) {
int n = 1;
for (int i = 1; i < 10; i++) {
n = (n + 1) * 2;
}
System.out.println(n);
}
}
六、水仙花数
题目:求水仙花数。水仙花数是一个3位正整数,其值等于其各个数位的立方之和。
public class Main{
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int g = i % 10;
int s = i / 10 % 10;
int b = i / 100 % 10;
if ((g*g*g)+(s*s*s)+(b*b*b)==i) {
System.out.println(i);
}
}
}
}
七、等级判断
题目:输入一个0~100的分数,使用switch判断等级。
(90-100:A;80-89:B;70-79:C;60-69:D;0-60:E)
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
switch (n / 10) {
case 9:case 10:
System.out.println("A");
break;
case 8:
System.out.println("B");
break;
case 7:
System.out.println("C");
break;
case 6:
System.out.println("D");
break;
default:
System.out.println("E");
break;
}
}
}
八、素数判断
题目:编写程序判断一个输入的整数是否为素数,是则输出yes,不是则输出no。
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int i = 0;
for (i = 2; i <= n; i++)
if (n % i == 0 ) break;
if (n != i) {
System.out.println("no");
}else {
System.out.println("yes");
}
}
}
九、合数判断(非素数)
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int i = 0;
for (i = 2; i <= n; i++)
if (n % i == 0) break;
if (n == i) {
System.out.println("no");
}else {
System.out.println("yes");
}
}
}
十、三数最大
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
System.out.println(max(a, b, c));
}
public static int max(int a,int b,int c) {
a = a > b ? a : b;
a = b > c ? b : c;
return a;
}
}