本篇是蓝桥杯第十一届软件类(Java)校内模拟赛,我会做的题…😭
听说这次的模拟赛是省赛的难度。

填空

#1

问题描述

  将LANQIAO中的字母重新排列,可以得到不同的单词,如LANQIAO、AAILNOQ等,注意这7个字母都要被用上,单词不一定有具体的英文意义。
  请问,总共能排列如多少个不同的单词。

答案提交

  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

答案:2520

这题手算就行,高中数学,解题如下:

1
2
3
先将LANQIAO看成7个不同的字母,则所有的排列有7!个。
再找出里面相同的字母“A”(有两个),这两个相同的“A”所有的排列共有2!个。
则本题答案为:(7!)/(2!)=2520

#2

问题描述

  在计算机存储中,12.5MB是多少字节?

答案提交

  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

答案:13107200

本题也是手算就行,12.5×1024×1024=13107200。
非要写程序的话(吃得太饱)

1
System.out.print(12.5*1024*1024);

#3

问题描述

  一个包含有2019个结点的无向连通图,最少包含多少条边?

答案提交

  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

答案:2018

1
一个n个节点的无向连通图最少有n-1条边,最多有n(n-1)条边。

#4

问题描述

  由1对括号,可以组成一种合法括号序列:()。
  由2对括号,可以组成两种合法括号序列:()()、(())。
  由4对括号组成的合法括号序列一共有多少种?

答案提交

  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

答案:14

也是一题可以手算的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
01 (((())))
02 ((()()))
03 ((())())
04 ((()))()
05 (()(()))
06 (()()())
07 (()())()
08 (())(())
09 (())()()
10 ()((()))
11 ()(()())
12 ()(())()
13 ()()(())
14 ()()()()

程序题

#5

问题描述

  给定三个整数 a, b, c,如果一个整数既不是 a 的整数倍也不是 b 的整数倍还不是 c 的整数倍,则这个数称为反倍数。
  请问在 1 至 n 中有多少个反倍数。

输入格式

  输入的第一行包含一个整数 n。
  第二行包含三个整数 a, b, c,相邻两个数之间用一个空格分隔。

输出格式

  输出一行包含一个整数,表示答案。

样例输入

30
2 3 6

样例输出

10

样例说明

以下这些数满足要求:1, 5, 7, 11, 13, 17, 19, 23, 25, 29。

评测用例规模与约定

  对于 40% 的评测用例,1 <= n <= 10000。
  对于 80% 的评测用例,1 <= n <= 100000。
  对于所有评测用例,1 <= n <= 1000000,1 <= a <= n,1 <= b <= n,1 <= c <= n。

程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int n;
int count = 0;
Scanner scanner = new Scanner(System.in);
n = scanner.nextInt();
int arr[] = new int[3];
for (int i = 0; i < arr.length; i++) {
arr[i] = scanner.nextInt();
}
for (int i = 1; i < n; i++) {
if (i%arr[0]!=0&&i%arr[1]!=0&&i%arr[2]!=0) {
count++;
}
}
System.out.println(count);
}
}

#6

问题描述

  给定一个单词,请使用凯撒密码将这个单词加密。
  凯撒密码是一种替换加密的技术,单词中的所有字母都在字母表上向后偏移3位后被替换成密文。即a变为d,b变为e,…,w变为z,x变为a,y变为b,z变为c。
  例如,lanqiao会变成odqtldr。

输入格式

  输入一行,包含一个单词,单词中只包含小写英文字母。

输出格式

  输出一行,表示加密后的密文。

样例输入

lanqiao

样例输出

odqtldr

评测用例规模与约定

  对于所有评测用例,单词中的字母个数不超过100。

程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String string;
int list_int[] = new int[100];
Scanner scanner = new Scanner(System.in);
string = scanner.next();
char list_char[] = string.toCharArray();
for (int i = 0; i < list_char.length; i++) {
list_int[i] = list_char[i];
}
for (int i = 0; i < list_char.length; i++) {
list_char[i] = (char)(list_int[i]+3);
}
System.out.println(list_char);
}
}

就会这么多…会了再把其他题放上来吧…我太菜了×2 😭