热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

蓝桥杯2020Javac

##蓝桥杯2020Javac#A指数计算问题描述7月1日是建党日,从1921年到2020年,中国共产党已经带领中国人民走过了99年。请计算:720207^{2020}72020mo



##蓝桥杯 2020 Java c


#A 指数计算

问题描述

7 月 1 日是建党日,从 1921 年到 2020 年,中国共产党已经带领中国人民

走过了 99 年。

请计算:7 2020 7^{2020}7

2020

mod 1921,其中 A mod B 表示 A 除以 B 的余数。

答案提交

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

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

package Java2020;
import java.lang.annotation.Retention;
import java.math.BigInteger;
//public class 第一题 {
//
//
//
// public static void main(String[] args) {
//
// System.out.println(pow(7, 2020));
//
// }
// static final int mod = 1921;
//
// static int pow(int a,int n) {
// if(n == 0 ) return 1;
// if (n == 1) return a;
// if (0 == (n & 1)) return pow((a % mod)*(a % mod), n / 2) % mod;
// return ((a % mod) * (pow((a % mod) *(a % mod), n / 2) % mod)) % mod;
// }
//}

public class 第一题 {
public static void main(String[] args) {
System.out.println(new BigInteger("7").pow(2020).mod(new BigInteger("1921")));
}
}

#B 解密

问题描述

小明设计了一种文章加密的方法:对于每个字母 c,将它变成某个另外的

字符Tc 下表给出了字符变换的规则:

例如,将字符串 YeRi 加密可得字符串 EaFn。
小明有一个随机的字符串,加密后为
EaFnjISplhFviDhwFbEjRjfIBBkRyY
(由 30 个大小写英文字母组成,不包含换行符),请问原字符串是多少?
(如果你把以上字符串和表格复制到文本文件中,请务必检查复制的内容
是否与文档中的一致。在试题目录下有一个文件 str.txt,第一行为上面的字符
串,后面 52 行依次为表格中的内容。)

package Java2020;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class 第二题 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); //加密后的字符
String str = scanner.next();
Map map = new HashMap();

for (int i = 0; i <52; i++) {
String s1 = scanner.next(); //加密前的字符
String s2 = scanner.next(); //加密前的字符

map.put(s2, s1);
}
String str2="";
for (int i = 0; i str2+=map.get(str.charAt(i)+""); //拿到加密前的字符
}
System.out.println(str2);
}
}

#C 跑步训练

小明要做一个跑步训练。
初始时,小明充满体力,体力值计为 10000。如果小明跑步,每分钟损耗
600 的体力。如果小明休息,每分钟增加 300 的体力。体力的损耗和增加都是
均匀变化的。
小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟……如此循
环。如果某个时刻小明的体力到达 0,他就停止锻炼。
请问小明在多久后停止锻炼。为了使答案为整数,请以秒为单位输出答案。
答案中只填写数,不填写单位。

package Java2020;
public class 第三题 {
public static void main(String[] args) {
int sum = 10000;
int min = 0;
while (sum > 600) {
sum = sum - 600;
sum = sum + 300;
min++;
}
System.out.println(min*2*60 + 40);
}
}

#D 合并检测

问题描述

新冠疫情由新冠病毒引起,最近在 A 国蔓延,为了尽快控制疫情,A 国准备给大量民众进病毒核酸检测。然而,用于检测的试剂盒紧缺。
为了解决这一困难,科学家想了一个办法:合并检测。即将从多个人(k个)采集的标本放到同一个试剂盒中进行检测。如果结果为阴性,则说明这 k个人都是阴性,用一个试剂盒完成了 k 个人的检测。如果结果为阳性,则说明至少有一个人为阳性,需要将这 k 个人的样本全部重新独立检测(从理论上看,如果检测前 k − 1 个人都是阴性可以推断出第 k 个人是阳性,但是在实际操作中不会利用此推断,而是将 k 个人独立检测),加上最开始的合并检测,一共使用了 k + 1 个试剂盒完成了 k 个人的检测。A 国估计被测的民众的感染率大概是 1%,呈均匀分布。请问 k 取多少能最节省试剂盒?

package Java2020;
public class 第四题 {
public static void main(String[] args) {
int max = 10000, min = 0x7ffffff,res = 0;
for (int i = 2; i int cnt = max / i + max / 100 * i + (max % i == 0? 0:1);
if (cnt min = cnt;
res = i;
}
}
System.out.println(res);
}
}

#E REPEAT 程序

附件 prog.txt 中是一个用某种语言写的程序。 其中 REPEAT k 表示一个次数为 k 的循环。循环控制的范围由缩进表达,从次行开始连续的缩进比该行多的(前面的空白更长的)为循环包含的内容。 例如如下片段:

REPEAT 2:
A = A + 4
REPEAT 5:
REPEAT 6:
A = A + 5
A = A + 7
A = A + 8
A = A + 9

该片段中从 A = A + 4 所在的行到 A = A + 8 所在的行都在第一行的循环两次中。REPEAT 6: 所在的行到 A = A + 7 所在的行都在 REPEAT 5: 循环中。A = A + 5 实际总共的循环次数是 2 × 5 × 6 = 60 次。请问该程序执行完毕之后,A 的值是多少?

package Java2020;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.security.KeyStore.Entry;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class 第五题 {
public static void main(String[] args) throws FileNotFoundException {
Scanner in = new Scanner(new FileInputStream("prog.txt"));
Map map = new HashMap();
while (in.hasNext()) {
String now = in.next();
Integer cnt = map.get(now);
if (cnt == null) {
map.put(now,1);
}else {
map.put(now, cnt+1);
}
for (java.util.Map.Entry e: map.entrySet()) {
System.out.println(e.getKey()+": " + e.getValue());
}
}
}
}

试题 F: 分类计数

【问题描述】

输入一个字符串,请输出这个字符串包含多少个大写字母,多少个小写字母,多少个数字。

【输入格式】

输入一行包含一个字符串。

【输出格式】

输出三行,每行一个整数,分别表示大写字母、小写字母和数字的个数。

【样例输入】

1+a=Aab

【样例输出】

1

3

1

package Java2020;
import java.util.Scanner;
public class 第六题 {
public static void main(String[] args) {
int number = 0;
int capital = 0;
int Lowletters = 0;
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
for (int i = 0; i char a = str.charAt(i);
if (a >= '0' && a <= '9') {
number++;
}else if (a >= 'a' && a <= 'z') {
capital++;
}else if (a >= 'A' && a <= 'Z'){
Lowletters++;
}
}
System.out.println(number);
System.out.println(capital);
System.out.println(Lowletters);
}
}

试题 G: 整除序列

【问题描述】

本题总分:15 分

有一个序列,序列的第一个数是 n,后面的每个数是前一个数整除 2,请输出这个序列中值为正数的项。

【输入格式】

输入一行包含一个整数 n。

【输出格式】

输出一行,包含多个整数,相邻的整数之间用一个空格分隔,表示答案。

【样例输入】

20

【样例输出】

20 10 5 2 1

【评测用例规模与约定】

对于 80% 的评测用例,1 ≤ n ≤ 109。

对于所有评测用例,1 ≤ n ≤ 1018。

package Java2020;
import java.util.Scanner;
public class 第七题 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long a = sc.nextLong();

while (a != 0) {
a=a/2;
if (a == 0) {
break;
}
System.out.print(a+" ");
}
}
}

试题 H: 走方格

本题总分:20 分

【问题描述】

在平面上有一些二维的点阵。这些点的编号就像二维数组的编号一样,从上到下依次为第 1 至第 n 行,从左到右依次为第 1 至第 m 列,每一个点可以用行号和列号来表示。现在有个人站在第 1 行第 1 列,要走到第 n 行第 m 列。只能向右或者向下走。注意,如果行号和列数都是偶数,不能走入这一格中。问有多少种方案。

【输入格式】

输入一行包含两个整数 n, m。

【输出格式】

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

【样例输入】

3 4

【样例输出】

2

【样例输入】

6 6

【样例输出】

0

【评测用例规模与约定】

对于所有评测用例,1 ≤ n ≤ 30, 1 ≤ m ≤ 30。

package Java2020;
import java.util.Scanner;
public class 第八题 {

private static int m;
private static int n;
private static int sum;

public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
n = scanner.nextInt();
m = scanner.nextInt();
sum = 0;
dfs(1,1);

System.out.println(sum);
}

private static void dfs(int i, int j) {
if (i>n||j>m) {
return;
}
if (i%2 == 0 && j%2 == 0) {
return;
}
if (i==n&&j==m) {
sum++;
return;
}
dfs(i+1,j);
dfs(i,j+1);
}
}


推荐阅读
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ... [详细]
  • Java 中 Writer flush()方法,示例 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 主要用了2个类来实现的,话不多说,直接看运行结果,然后在奉上源代码1.Index.javaimportjava.awt.Color;im ... [详细]
  • 本文介绍了如何在C#中启动一个应用程序,并通过枚举窗口来获取其主窗口句柄。当使用Process类启动程序时,我们通常只能获得进程的句柄,而主窗口句柄可能为0。因此,我们需要使用API函数和回调机制来准确获取主窗口句柄。 ... [详细]
  • 本文探讨了 Objective-C 中的一些重要语法特性,包括 goto 语句、块(block)的使用、访问修饰符以及属性管理等。通过实例代码和详细解释,帮助开发者更好地理解和应用这些特性。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细介绍了如何构建一个高效的UI管理系统,集中处理UI页面的打开、关闭、层级管理和页面跳转等问题。通过UIManager统一管理外部切换逻辑,实现功能逻辑分散化和代码复用,支持多人协作开发。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
author-avatar
lookadgo_544
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有