蓝桥杯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组入坑的更多相关文章

  1. 第十届蓝桥杯JavaB组省赛真题

    试题 A: 组队 本题总分:5 分 [问题描述] 作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员, 组成球队的首发阵容. 每位球员担任 1 号位至 5 号位时的评分如下表所示. ...

  2. 第九届蓝桥杯JavaB组省赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.第几天 题目描述 2000年的1月1日,是那一年的第1天. 那么,2000年的5月4日,是那一年的第几天? 注意:需要提交的是一个整数 ...

  3. 第十届蓝桥杯JavaB组总结

    去年参加了第九届蓝桥杯C/C++B组,很捞,做了大概5道题,就好像就做对了2道结果填空题,编程题只做了一个(只通过了部分测试数据),最后拿了个省三,但是班上那些平时没有认真准备的都拿了省二 今年想好好 ...

  4. 第六届蓝桥杯JavaB组国(决)赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.分机号 X老板脾气古怪,他们公司的电话分机号都是3位数,老板规定,所有号码必须是降序排列,且不能有重复的数位.比如: 751,520, ...

  5. 第八届蓝桥杯JavaB组省赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.购物单 题目描述 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推 ...

  6. Java实现第十一届蓝桥杯JavaB组 省赛真题

    试题 A: 指数计算 本题总分:5 分 [问题描述] 7 月 1 日是建党日,从 1921 年到 2020 年, 已经带领中国人民 走过了 99 年. 请计算:7 ^ 2020 mod 1921,其中 ...

  7. 2015年第六届蓝桥杯javaB组 试题 答案 解析

    1.三角形面积 如图1所示.图中的所有小方格面积都是1. 那么,图中的三角形面积应该是多少呢? 请填写三角形的面积.不要填写任何多余内容或说明性文字. ##### 答案 : 28   ### 2.立方 ...

  8. 2016年第七届蓝桥杯javaB组 试题 答案 解析

    1.煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤 ...

  9. 2014年第五届蓝桥杯javaB组 试题 答案 解析

    1.武功秘籍 小明到X山洞探险,捡到一本有破损的武功秘籍(2000多页!当然是伪造的).他注意到:书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上. 小明只想练习该书的第81页到 ...

随机推荐

  1. Java对象生命周期

    [TOC] 1. 创建阶段(Created) 为对象分配存储空间 开始构造对象 从父类到子类对static成员进行初始化 父类成员变量按照顺序初始化,递归调用父类的构造方法 子类成员变量按照顺序初始化 ...

  2. 【2011图灵奖得主】我眼中的Judea Pearl

    [2011图灵奖得主]我眼中的Judea Pearl 来源: 叶星遥的日志 2011年的图灵奖花落UCLA计算机系的Judea Pearl教授.图灵奖是计算领域的最高奖,由于近年来这个领域的兴盛也算是 ...

  3. EditPlus保存文件时不生成其备份文件的方法

    3.将“保存时去掉备份文件”复选框去掉,点击 应用->确定,即可 .

  4. jackson 学习笔记

    Jackson以优异的解析性能赢得了好评,今天就看看Jackson的一些简单的用法. Jackson使用之前先要下载,这里一共有三个jar包,想要获得完美的Jackson体验,这三个jar包都不可或缺 ...

  5. Matlab实现Hough变换检測图像中的直线

    Hough变换的原理: 将图像从图像空间变换至參数空间.变换公式例如以下: 变换以后,图像空间与參数空间存在下面关系: 图像空间中的一点在參数空间是一条曲线,而图像空间共线的各点相应于參数空间交于一点 ...

  6. 实现iota函数

    void Reverse(char *s) { char temp; char *p = s; char *q = s; while (*p != '\0') { p ++; } q --; whil ...

  7. 使用PHP中的ajax做登录页面、验证用户名是否可用、动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  8. 阿里云服务器上通过Docker部署redmine

    背景:在日常工作的过程中会遇到各种各样的问题,每个问题来了之后需要花时间解决.这里就面临两个问题. 1:问题责任不明确,有时候会遇到数据库或者物理服务器的问题,这时候就需要把相应问题指派给相应的人,传 ...

  9. SpringBoot使用Mybatis-Generator

    本文介绍如何将Maven和Mybatis-Generator配合使用. 简介 Mybatis-Generator是Mybatis提供的一个便捷型插件,自动可以为项目生产对应的实体类,Mapper,da ...

  10. KVM虚拟化技术(四)安装虚拟机

    一.首先用比较简单的virt-manager来安装 # virt-manager 后面就是一般的安装系统流程了,这里不再复述 二.用virt-install命令行来安装 还是通过本地IOS文件来进行安 ...