蓝桥杯javaB组入坑
蓝桥杯Java B组
准备工作
编辑环境
我们建议您使用大赛指定的编辑环境来编写你的代码,以保证评测时和我们的编译环境一致,同时和比赛时使用的环境也一致。
推荐的编辑环境如下:
语言 | 编辑环境 | 下载地址 |
---|---|---|
C++ | Dev-CPP | SourceForge上的Dev-CPP |
C | Dev-CPP | SourceForge上的Dev-CPP |
JAVA | Eclipse | Eclipse |
PYTHON | IDLE | Python |
对于不同的语言,系统的编译环境如下:
语言 | 编译环境/解释器 | 编译选项 |
---|---|---|
C++ | g++ (GCC) 4.9.2 | g++ code.cpp -O2 -Wl,--stack=268435456 -DONLINE_JUDGE |
C | gcc (GCC) 4.9.2 | gcc code.c -O2 -Wl,--stack=268435456 -DONLINE_JUDGE |
JAVA | Javac 1.8.0 | javac Main.java |
PYTHON | Python 3.8.0 |
如果你使用Java语言,对于所有的试题,你的主类名称都必须是Main。
C/C++语言中,主函数main的返回值类型必须是int,返回值必须是0,否则评测会认为程序运行错误。
学生机环境-Java编程环境及API帮助文档
链接: https://pan.baidu.com/s/1rbG9VOdycgSq58LXAqPVrw
提取码: cjg2
本人参加的是 Java软件开发 大学B组。所以使用上面链接提供的工具。
入门训练
试题编号 | 试题名称 | 关键字 | 更新时间 |
---|---|---|---|
BEGIN-1 | A+B问题 | 入门 | 2013-10-09 |
BEGIN-2 | 序列求和 | 入门 求和公式 | 2013-10-09 |
BEGIN-3 | 圆的面积 | 入门 实数输出 | 2013-10-09 |
BEGIN-4 | Fibonacci数列 | 入门 数列 取模 | 2013-10-09 |
入门训练题主要是是为了给大家熟悉考试系统的环境。网页上给出 问题描述 和 一系列提示,
先在自己电脑上的开发环境敲出正确代码,再把代码拷贝到网页中的代码区。
A+B问题
问题描述
输入A、B,输出A+B。
数据规模与约定
-10000 <= A, B <= 10000。
提醒:做题时注意数据范围,自己选用的合适数据类型。比如此处用int没问题。
Java源代码
import java.util.*;
public class Main
{
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
Integer a = sc.nextInt();
Integer b = sc.nextInt();
System.out.println(a + b);
}
}
序列求和
问题描述
求1+2+3+...+n的值。
数据规模与约定
1 <= n <= 1,000,000,000。
输入格式 | 输出格式 |
---|---|
输入包括一个整数n。 | 输出一行,包括一个整数,表示1+2+3+...+n的值。 |
注意到此处的数据规模高达10亿,参考下表int类型可以接受20多亿。输入n的值可以用int类型的变量接收。
但是考虑到这题等差数列求和公式:(1+n)*n/2 ,进行了亿级的乘法运算。所以结果还用int类型就会溢出数据了。
为了方便运算就用long类型的变量接收输入的数据。
Java八大基本数据类型
数据类型 | 字节 | 数据范围 |
---|---|---|
byte | 1 | -128~127 |
short | 2 | -32768 ~ 32767 |
int | 4 | -2147483648 ~ 2147483647 (20亿级) |
long | 8 | -18446744073709551616 ~ 18446744073709551615 |
float | 4 | -2147483648 ~ 2147483647 |
double | 8 | -18446744073709551616 ~ 18446744073709551615 |
char | 2 | 英文字符所占字节 2,中文字符根据编码不同 |
boolean | 1 | true | false |
Java源代码
import java.util.Scanner;
public class Main {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
Long n =sc.nextLong();
System.out.println((1+n)*n/2);
}
}
圆的面积
问题描述
给定圆的半径r,求圆的面积。
数据规模与约定
1 <= r <= 10000 。
输入格式 | 输出格式 |
---|---|
输入包含一个整数r,表示圆的半径。 | 输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。 |
思路:圆的面积公式 = πr^2
使用int变量接收输入数据,java中的π可以用Math.PI获取。通过公式求得结果,最后输出结果时保留7位小数。
Java源代码
import java.util.Scanner;
public class Main {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int r = sc.nextInt();
double area = r * r * Math.PI;
System.out.printf("%.7f",area);
}
}
printf不就是C语言的语法吗
总结
System.out.print(""); 输出语句后不换行,再进行输出接着刚才的语句后面
System.out.println(""); 输出语句后换行,再进行输出在新的一行输出
System.out.printf("");输出格式控制的语句,不会自动换行。
Fibonacci数列
问题描述
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
数据规模与约定
1 <= n <= 1,000,000。
输入格式 | 输出格式 |
---|---|
输入包含一个整数n。 | 输出一行,包含一个整数,表示Fn除以10007的余数。 |
思路: 答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,
再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。
Java源代码
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.print(fibonacci(n));
}
public static int fibonacci(int n){
int f1=1,f2=1,temp = 0;
for(int i=2;i<n;i++){
temp = f2;
f2 = (f1+f2)%10007;
f1 = temp;
}
return f2;
}
}
由于最近刚学了JUnit单元测试,为了巩固知识,活学活用,所以把源代码模块化方便测试。
官方测试用例
序号 | 输入 | 输出 |
---|---|---|
1 | 1 | 1 |
2 | 2 | 1 |
3 | 10 | 55 |
4 | 55 | 2091 |
5 | 100 | 6545 |
6 | 500 | 8907 |
7 | 999 | 4659 |
8 | 9999 | 9973 |
9 | 99999 | 6415 |
10 | 999999 | 3131 |
很简单,但是不要大意是锦州。
蓝桥杯javaB组入坑的更多相关文章
- 第十届蓝桥杯JavaB组省赛真题
试题 A: 组队 本题总分:5 分 [问题描述] 作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员, 组成球队的首发阵容. 每位球员担任 1 号位至 5 号位时的评分如下表所示. ...
- 第九届蓝桥杯JavaB组省赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.第几天 题目描述 2000年的1月1日,是那一年的第1天. 那么,2000年的5月4日,是那一年的第几天? 注意:需要提交的是一个整数 ...
- 第十届蓝桥杯JavaB组总结
去年参加了第九届蓝桥杯C/C++B组,很捞,做了大概5道题,就好像就做对了2道结果填空题,编程题只做了一个(只通过了部分测试数据),最后拿了个省三,但是班上那些平时没有认真准备的都拿了省二 今年想好好 ...
- 第六届蓝桥杯JavaB组国(决)赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.分机号 X老板脾气古怪,他们公司的电话分机号都是3位数,老板规定,所有号码必须是降序排列,且不能有重复的数位.比如: 751,520, ...
- 第八届蓝桥杯JavaB组省赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.购物单 题目描述 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推 ...
- Java实现第十一届蓝桥杯JavaB组 省赛真题
试题 A: 指数计算 本题总分:5 分 [问题描述] 7 月 1 日是建党日,从 1921 年到 2020 年, 已经带领中国人民 走过了 99 年. 请计算:7 ^ 2020 mod 1921,其中 ...
- 2015年第六届蓝桥杯javaB组 试题 答案 解析
1.三角形面积 如图1所示.图中的所有小方格面积都是1. 那么,图中的三角形面积应该是多少呢? 请填写三角形的面积.不要填写任何多余内容或说明性文字. ##### 答案 : 28 ### 2.立方 ...
- 2016年第七届蓝桥杯javaB组 试题 答案 解析
1.煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤 ...
- 2014年第五届蓝桥杯javaB组 试题 答案 解析
1.武功秘籍 小明到X山洞探险,捡到一本有破损的武功秘籍(2000多页!当然是伪造的).他注意到:书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上. 小明只想练习该书的第81页到 ...
随机推荐
- PAT 反转链表
给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转.例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→4:如果 K 为 4,则输出应该 ...
- STM32F429时钟不正确导致串口无法正确收发
老早之前自己做了块F4的板子,设计原理图时没有去找官方参考,看了手册后就开工了,做完板子回来测试串口发现PC端接收到的都是乱码,尝试了几种波特率也没能正确接收,串口的代码是官方参考例程的,不应该有问题 ...
- 曹工说JDK源码(1)--ConcurrentHashMap,扩容前大家同在一个哈希桶,为啥扩容后,你去新数组的高位,我只能去低位?
如何计算,一对key/value应该放在哪个哈希桶 大家都知道,hashmap底层是数组+链表(不讨论红黑树的情况),其中,这个数组,我们一般叫做哈希桶,大家如果去看jdk的源码,会发现里面有一些变量 ...
- 你真的了解EF吗?关于EntityFramework的高级优化
接上一篇文章.现在写程序,做项目不是说功能做完就完事了,在平常的开发过程中对于性能的考虑也是极其重要的. 关于ef的那些事,今天就来说说吧.首先必须得知道.net ef在程序中的五种状态变化过程与原理 ...
- .NET Web应用中为什么要使用async/await异步编程
前言 什么是async/await? await和async是.NET Framework4.5框架.C#5.0语法里面出现的技术,目的是用于简化异步编程模型. async和await的关系? asy ...
- java类的加载顺序和实例化顺序(Demo程序)
一.main函数中实例化对象 父类 package com.learn; public class Father { //静态变量 public static int num_1 = 1; //静态代 ...
- HDU-3033 I love sneakers! 题解
题目大意 有 n 个物品,分成了 k 组,每个物品有体积和价值,把 n 个物品放到容量为 V 的背包中,保证每组至少放一件,求能获得的最大价值,如果不能实现,输出"Impossible&qu ...
- PL/SQL编程急速上手
结构化查询语言(SQL)是第四代编程语言的典型,这种命令式的语言更像一种指令,使用它,你只需要告诉计算机“做什么”,而不用告诉计算机“怎么做”.第四代编程语言普遍具有简单.易学.能更快的投入生产等优点 ...
- Autoware 标定工具 Calibration Tool Kit 联合标定 Robosense-16 和 ZED 相机!
一.安装 Autoware & ZED 内参标定 & 外参标定准备 之前的这篇文章:Autoware 进行 Robosense-16 线雷达与 ZED 双目相机联合标定! 记录了我用 ...
- 键盘鼠标共享效率工具----Synergy
在日常工作中,为了提高工作效率以及用户体验,会一个主机接多个显示器,像程序员一般都是使用两块显示器. 然而,有很多人是和我一样,自己有多台电脑,两个笔记本.公司一个台式机,如何在台机器之间来回切换工作 ...