蓝桥杯2016年JavaB组省赛题

合集下载

蓝桥杯历届试题题目总结

蓝桥杯历届试题题目总结

蓝桥杯历届试题题⽬总结

后天就是蓝桥杯省赛了,今天总结⼀下这段时间做的蓝桥杯历届试题,还是⼀个⼀个题⽬的来吧

1,历届试题矩阵翻硬币

这个题⽬说真的,我不会,在⽹上看了某神⽜的题解答案为 ans=sqrt(n)*sqrt(m),具体怎么证明的我也不知道

2,历届试题兰顿蚂蚁

这个题⽬怎么说呢,应该是送分题,直接模拟就可以了,这⾥就不说了。

3,历届试题分糖果

这个题⽬好像之前在哪⾥做过,也是⼀道模拟题,弄两个数组搞⼀下就可以了

下⾯是代码

#include<bits/stdc++.h>

using namespace std;

#define maxn 100+10

int a[2][maxn],n;

bool ok(int cur)

{

for (int i=2;i<=n;i++) if (a[cur][i]!=a[cur][i-1]) return0;

return1;

}

int main()

{

while(scanf("%d",&n)!=EOF)

{

int cur=0,ans=0;

for (int i=1;i<=n;i++) scanf("%d",&a[cur][i]);

while(!ok(cur))

{

for (int i=1;i<=n;i++) {

if (a[cur][i]%2) {

a[cur][i]++; ans++;

}

}

for (int i=1;i<n;i++) a[1-cur][i]=a[cur][i+1]/2; a[1-cur][n]=a[cur][1]/2;

蓝桥杯题库的历届真题

蓝桥杯题库的历届真题

1.历届试题矩阵翻硬币

时间限制:1.0s 内存限制:256.0MB

问题描述

小明先把硬币摆成了一个n 行m 列的矩阵。

随后,小明对每一个硬币分别进行一次Q 操作。

对第x行第y列的硬币进行Q 操作的定义:将所有第i*x 行,第j*y 列的硬币进行翻转。

其中i和j为任意使操作可行的正整数,行号和列号都是从1开始。

当小明对所有硬币都进行了一次Q 操作后,他发现了一个奇迹——所有硬币均为正面朝上。

小明想知道最开始有多少枚硬币是反面朝上的。于是,他向他的好朋友小M寻求帮助。

聪明的小M告诉小明,只需要对所有硬币再进行一次Q操作,即可恢复到最开始的状态。然而小明很懒,不愿意照做。于是小明希望你给出他更好的方法。帮他计算出答案。输入格式

输入数据包含一行,两个正整数n m,含义见题目描述。

输出格式

输出一个正整数,表示最开始有多少枚硬币是反面朝上的。

样例输入

2 3

样例输出

1

数据规模和约定

对于10%的数据,n、m <= 10^3;

对于20%的数据,n、m <= 10^7;

对于40%的数据,n、m <= 10^15;

对于10%的数据,n、m <= 10^1000(10的1000次方)。

2.历届试题兰顿蚂蚁

时间限制:1.0s 内存限制:256.0MB

问题描述

兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。

平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。

蚂蚁的头部朝向为:上下左右其中一方。

蚂蚁的移动规则十分简单:

若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格;

蓝桥杯软件开发大赛试题

蓝桥杯软件开发大赛试题

蓝桥杯软件开发大赛的试题种类繁多,包括算法题、设计题、应用题等,考察的范围广泛且深入。以下我将以一个可能的试题为例,阐述我的回答思路和解答过程。

题目:设计一个软件,用户能够输入一串字符并找到重复的字符,将这些重复的字符标记出来。

解题思路:

1. 首先需要理解用户需求。本题中用户需要我们设计的软件能够帮助他们找到并标记重复的字符。这意味着我们需要创建一个输入界面让用户输入字符,还需要设计一个算法来查找重复的字符并标记它们。

2. 根据用户需求,我们可以设计一个简单的输入界面,使用户能够输入一串字符。对于字符的输入,可以使用输入框和文本编辑器来实现。用户可以通过键盘或鼠标输入字符。

3. 对于查找重复字符的算法,我们可以使用哈希表或排序来实现。哈希表能够在常数时间内实现查找操作,因此是处理这类问题的理想选择。我们将用户输入的字符串作为键值,使用哈希表来存储字符串及其出现次数。如果一个字符在哈希表中已经存在,则我们将其计数加一;如果不存在,则将其计数为第一次出现。

4. 当我们完成哈希表的构建后,就可以遍历哈希表,查找出现次数超过一次的字符。对于每个出现次数大于一的字符,我们在用户界面上将其显示出来,并使用特殊标记(例如颜色或字体)将其突出显示。

具体实现过程:

1. 创建输入框和文本编辑器,让用户输入一串字符。

2. 将用户输入的字符串存储在哈希表中,并统计每个字符的出现次数。

3. 遍历哈希表,对于每个出现次数大于一的字符,在用户界面上显示该字符及其出现次数,并使用特殊标记突出显示。

4. 完成软件后,将界面展示给用户,并等待用户反馈。

自-蓝桥杯2016年JavaB组省赛题

自-蓝桥杯2016年JavaB组省赛题

2016年JavaB组省赛题

1.煤球数目(结果填空)

有一堆煤球,堆成三角棱锥形。具体:

第一层放1个,

第二层3个(排列成三角形),ﻫ第三层6个(排列成三角形),ﻫ第四层10个(排列成三角形),ﻫ....ﻫ如果一共有100层,共有多少个煤球?ﻫﻫ请填表示煤球总数目的数字。ﻫ注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

2.生日蜡烛 (结果填空)

某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。ﻫ现在算起来,他一共吹熄了236根蜡烛。

请问,他从多少岁开始过生日party的?ﻫ请填写他开始过生日party的年龄数。ﻫ注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

3.凑算式(结果填空)

B DEFﻫA+--- + -------=10

C GHI

ﻫ(如果显示有问题,可以参见【图1.jpg】)

这个算式中A~I代表0~9的数字,不同的字母代表不同的数字。

比如:8/3+6ﻫ+952/714 就是一种解法,3/1+5ﻫ+972/486是另一种解法。

这个算式一共有多少种解法?

注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。

5.抽签 (代码填空)

X星球要派出一个5人组成的观察团前往W星。

其中:

A国最多可以派出4人。

B国最多可以派出2人。ﻫC国最多可以派出2人。ﻫ....ﻫ

那么最终派往W星的观察团会有多少种国别的不同组合呢?ﻫﻫ

下面的程序解决了这个问题。ﻫ数组a[]中既是每个国家可以派出的最多的名额。ﻫ程序执行结果为:ﻫDEFFF

蓝桥杯部分题目(含答案)

蓝桥杯部分题目(含答案)

1、未名湖边的烦恼

关键词:递归,蓝桥杯,算法

问题描述

每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。

每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)

输入格式

两个整数,表示m和n

输出格式

一个整数,表示队伍的排法的方案数。

样例输入

3 2

样例输出

5

数据规模和约定

m,n∈[0,18]

#include "iostream"

#include "cstdio"

#include "cmath"

#include "algorithm"

#include "map"

using namespace std;

int f(int m,int n){

if(m<n) return 0;

if(n==0) return 1;

return f(m,n-1)+f(m-1,n);

}

int main(){

int m,n;

scanf("%d%d",&m,&n);

int ans=f(m,n);

printf("%d\n",ans);

return 0;

}

2.标题:蚂蚁感冒

关键词:结构体排序,蓝桥杯

【题目描述】

长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。

每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。

当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。

这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。

蓝桥杯JavaB历年竞赛真题详解

蓝桥杯JavaB历年竞赛真题详解

蓝桥杯JavaB历年竞赛真题详解

✌ 2021年第⼗⼆届省赛-题⽬+题解

题⽬序号名称题⽬类型分值

题⽬1结果填空5

题⽬2结果填空5

题⽬3结果填空10

题⽬4结果填空10

题⽬5结果填空15

题⽬6编程⼤题15

题⽬7编程⼤题20

题⽬8编程⼤题20

题⽬9编程⼤题25

题⽬10编程⼤题25✌ 2020年第⼗⼀届省赛-题⽬+题解

题⽬序号名称题⽬类型分值

题⽬1结果填空5

题⽬2结果填空5

题⽬3结果填空10

题⽬4结果填空10

题⽬5结果填空15

题⽬6编程⼤题15

题⽬7编程⼤题20

题⽬8编程⼤题20

题⽬9编程⼤题25

题⽬10编程⼤题25✌ 2019年第⼗届省赛-题⽬+题解

题⽬序号名称题⽬类型分值

题⽬1结果填空5

题⽬2结果填空5

题⽬3结果填空10

题⽬4结果填空10

题⽬5结果填空15

题⽬6编程⼤题15

题⽬7编程⼤题20

题⽬8编程⼤题20

题⽬9编程⼤题25

题⽬10编程⼤题25

题⽬10编程⼤题25✌ 2018年第九届省赛-题⽬+题解

题⽬序号名称题⽬类型分值

题⽬1结果填空5

题⽬2结果填空5

题⽬3结果填空10

题⽬4结果填空10

题⽬5结果填空15

题⽬6编程⼤题15

题⽬7编程⼤题20

题⽬8编程⼤题20

题⽬9编程⼤题25

题⽬10编程⼤题25

蓝桥杯本科java试题及答案

蓝桥杯本科java试题及答案

蓝桥杯本科java试题及答案蓝桥杯本科Java试题及答案

一、选择题(每题2分,共10分)

1. 在Java中,以下哪个关键字用于定义类?

A. class

B. function

C. interface

D. struct

答案:A

2. 下列哪个是Java中的合法标识符?

A. 2class

B. class@2

C. _class

D. class-class

答案:C

3. Java中的哪个类提供了一种计算时间和日期的方法?

A. Date

B. Time

C. Calendar

D. Clock

答案:C

4. 在Java中,以下哪个是正确的条件表达式?

A. if (x = 5)

B. if (x == 5)

C. if (x : 5)

D. if (x / 5)

答案:B

5. Java中的异常处理机制是通过哪两个关键字实现的?

A. try-catch

B. if-else

C. switch-case

D. for-loop

答案:A

二、填空题(每题3分,共15分)

1. Java中的所有类都是继承自ng.________类。

答案:Object

2. 在Java中,________关键字用于实现方法的多态。

答案:override

3. Java中的集合框架主要分为两大类:________和________。

答案:List、Set

4. Java中的线程同步机制是通过________关键字实现的。

答案:synchronized

5. Java中,要实现网络通信,可以使用________类。

答案:Socket

三、简答题(共20分)

1. 请简述Java中接口和抽象类的区别。(10分)

蓝桥杯试题答案

蓝桥杯试题答案

import java.util.ArrayList;

/*

*1 2 3 4 5 6 7 8 9 = 110

*在上算式的1到9两个数间填入加号或者减号(可以不填,但不能填入其他符号),*使算式成立

*找出所有可能的算式

*/

public class Test110 {

public static boolean is110(String expression)

{

ArrayList numArrayList=new ArrayList();

ArrayList symArrayList=new ArrayList();

String str="";

for(int i=0;i<expression.length();i++)

{

char c=expression.charAt(i);

if(Character.isDigit(c))

{

str+=c;

}

else

{

symArrayList.add(""+c);

numArrayList.add(str);

str="";

}

}

numArrayList.add(str);

while(!symArrayList.isEmpty())

{

String cSym=(String)symArrayList.remove(0);

int num1=Integer.parseInt((String)numArrayList.remove(0));

int num2=Integer.parseInt((String)numArrayList.remove(0));

int temp;

java蓝桥杯历年真题及答案整理(小结)

java蓝桥杯历年真题及答案整理(小结)

java蓝桥杯历年真题及答案整理(⼩结)

蓝桥杯java历年真题及答案整理(闭关⼀个⽉,呕⼼沥⾎整理出来的)

1 全排列

是这样的,如果给定N个不同字符,将这N个字符全排列,最终的结果将会是N!种。如:给定 A、B、C三个不同的字符,则结果为:ABC、ACB、BAC、BCA、CAB、CBA⼀共3!=3*2=6种情况。package Question1_9;

import java.util.Scanner;

import java.util.Vector;

public class Question1 {

public static long count=0;

private void fullPermutation(Vector<Character>sourse, Vector<Character> result) {

if(sourse.size()==0){

for (int i = 0; i < result.size(); i++) {

System.out.print(result.elementAt(i));

}

System.out.print("\n");

count++;

return;

}

for (int i = 0; i < sourse.size(); i++) {

Vector<Character>tsourse=new Vector<Character>(sourse);

Vector<Character>tresult=new Vector<Character>(result);

第六届蓝桥杯软件类省赛真题(JavaB组)

第六届蓝桥杯软件类省赛真题(JavaB组)
public static void main(String[] args)
{
int[] x = {1,2,3,4,5,6,7,8,9};
f(x,0);
}
}
注意,只能填写缺少的部分,不要重复抄写已有代码。不要填写任何多余的文字。
6、加法变乘法
我们都知道:1+2+3+ ... + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
比如:
1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015
就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
注意:需要你提交的是一个整数,不要填写任何多余的内容。
7、牌型种数
小明被劫持到X赌城,被迫与其他3人玩牌。
经过长期观察,atm发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥!
我们先来规范一下骰子:1的对面是4,2的对面是5,3的对面是6。
假设有m组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。atm想计算一下有多少种不同的可能的垒骰子方式。
两种垒骰子方式相同,当且仅当这两种方式中对应高度的骰子的对应数字的朝向都相同。

蓝桥杯java试题及答案

蓝桥杯java试题及答案

蓝桥杯java试题及答案

蓝桥杯是中国著名的计算机科学与技术竞赛,旨在选拔和培养优秀的计算机人才,尤其是高中和大学的学生。Java是蓝桥杯竞赛中常见的编程语言之一。本文将介绍一些常见的蓝桥杯Java试题,并提供相应的答案。

一、编程题

1. 题目描述:

请编写一个Java程序,实现将一个整数数组中的奇数和偶数分别放在两个新数组中,并按照从小到大的顺序排列。

解题思路:

可以使用两个ArrayList来保存奇数和偶数,先遍历原数组,将奇数放入奇数数组,将偶数放入偶数数组,然后分别对两个数组进行升序排序。

代码实现:

```java

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collections;

public class SplitArray {

public static void main(String[] args) {

int[] arr = {1, 2, 3, 4, 5, 6};

ArrayList<Integer> oddList = new ArrayList<>(); ArrayList<Integer> evenList = new ArrayList<>(); for (int num : arr) {

if (num % 2 == 0) {

evenList.add(num);

} else {

oddList.add(num);

}

}

Collections.sort(oddList);

蓝桥杯Java试题汇总-共48页

蓝桥杯Java试题汇总-共48页

1. 历届试题核桃的数量

问题描述

小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:

1. 各组的核桃数量必须相同

2. 各组内必须能平分核桃(当然是不能打碎的)

3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)输入格式

输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c<30)

输出格式

输出一个正整数,表示每袋核桃的数量。

样例输入1

2 4 5

样例输出1

20

样例输入2

3 1 1 样例输出2 3

JAVA

源代码

1import java.util.Scanner;

2public class Main {

3

4public static void main(String[]

args){

5 Scanner sc=new Scanner(System.in);

6int a=sc.nextInt();

7int b=sc.nextInt();

8int c=sc.nextInt();

9int i;

10for(i=1;;i++){

11if(i%a==0&&i%b==0&&i%c==0)

12

13break;

14 }

15 System.out.println(i);

16

}}

2.基础练习Sine之舞

时间限制:1.0s 内存限制:512.0MB

问题描述

最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学

好这门课,必须有一个好的三角函数基本功。所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们的计算能力。

蓝桥杯软件设计大赛习题

蓝桥杯软件设计大赛习题

1.语法知识vs 任务型

int i = 0; while(i>3) ++i; // 循环几次?

10! 共有几位数字? 100! 呢?

2.描述性vs 确定性

c语言宏定义与内联函数有什么区别?

Java static 可否修饰内部类?

一幅随机排列的扑克牌(52张),随机抽取5张,含有“对子”的概率是多少?“同花顺”的概率呢?

3.二阶魔方旋转

魔方可以对它的6个面自由旋转。

我们来操作一个2阶魔方(如图1所示):

为了描述方便,我们为它建立了坐标系。

各个面的初始状态如下:

x轴正向:绿

x轴反向:蓝

y轴正向:红

y轴反向:橙

z轴正向:白

z轴反向:黄

假设我们规定,只能对该魔方进行3种操作。分别标记为:

x 表示在x轴正向做顺时针旋转y 表示在y轴正向做顺时针旋转z 表示在z轴正向做顺时针旋转

xyz 则表示顺序执行x,y,z 3个操作

题目的要求是:

从标准输入获得一个串,表示操作序列。

程序输出:距离我们最近的那个小方块的3个面的颜色。

顺序是:x面,y面,z面。

例如:在初始状态,应该输出:

绿红白

初始状态下,如果用户输入:

x

则应该输出:

绿白橙

初始状态下,如果用户输入:

zyx

则应该输出:

红白绿

4.连通单体面积统计

BMP是常见的图像存储格式。

如果用来存黑白图像(颜色深度=1),则其信息比较容易读取。

与之相关的数据:

(以下偏移均是从文件头开始)

偏移:10字节, 长度4字节:图像数据真正开始的位置。

偏移:18字节, 长度4字节:位图的宽度,单位是像素。

偏移:22字节, 长度4字节:位图的高度,单位是像素。

从图像数据开始处,每个像素用1个二进制位表示。

第12届蓝桥杯大赛软件赛省赛Java语言B组

第12届蓝桥杯大赛软件赛省赛Java语言B组

第十二届蓝桥杯大赛软件赛省赛Java大学B组

第十二届蓝桥杯大赛软件赛省赛

Java大学B组

【考生须知】

考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试题。

考试时间为4小时。考试期间选手可浏览自己已经提交的答案,被浏览的答案允许拷贝。时间截止后,将无法继续提交或浏览答案。

对同一题目,选手可多次提交答案,以最后一次提交的答案为准。

选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它方式提交的答案无效。

试题包含“结果填空”和“程序设计”两种题型。

结果填空题:要求选手根据题目描述直接填写结果。求解方式不限。不要求源代码。把结果填空的答案直接通过网页提交即可,不要书写多余的内容。

程序设计题:要求选手设计的程序对于给定的输入能给出正确的输出结果。考生的程序只有能运行出正确结果才有机会得分。

注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。

所有源码必须在同一文件中。调试通过后,拷贝提交。

注意:不要使用package语句。

注意:选手代码的主类名必须为:Main,否则会被判为无效代码。

注意:如果程序中引用了类库,在提交时必须将import语句与程序的其他部分同时提交。只允许使用Java自带的类库。

第十二届蓝桥杯大赛软件赛省赛1

第十二届蓝桥杯大赛软件赛省赛Java大学B组

试题A:ASC

本题总分:5分

【问题描述】

已知大写字母A的ASCII码为65,请问大写字母L的ASCII码是多少?【答案提交】

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

蓝桥杯初赛b组试题

蓝桥杯初赛b组试题

蓝桥杯初赛b组试题

————————————————————————————————作者:————————————————————————————————日期:

第一题结果填空3‘

奖券数目

有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。

虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10-99),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。

请提交该数字(一个整数),不要写任何多余的内容或说明性文字。

-

题解:考试的时候写了个回溯法,然后屁颠屁颠的开始做下面一题了。。。结果错了→_→

1 #include

2using namespace std;

3bool fuck(int t)

4 {

5while(t)

6 {

7if(t%10==4)return false;

8 t/=10;

9 }

10return true;

11 }

12int main()

13 {

14int ans = 0, t = 10;

15while(t<100)

16if(fuck(t++))ans++;

17 cout<

18return0;

19 }

第一题

正确答案:52488(我居然上来第一题就错了居然写了13440→_→)

//cout<<8*9*9*9*9; →_→

第二题结果填空5‘

星系炸弹

在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。

每个炸弹都可以设定多少天之后爆炸。

比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。有一个贝塔炸弹,2014年11月9日放置,定时为1天,请你计算它爆炸的准确日期。

[蓝桥杯]2016蓝桥省赛B组题目及详解

[蓝桥杯]2016蓝桥省赛B组题目及详解

[蓝桥杯]2016蓝桥省赛B组题⽬及详解

/*———————————————————————————————————————————————————————————【结果填空题】T1 (分值:3)

题⽬:煤球数⽬

有⼀堆煤球,堆成三⾓棱锥形。具体:

第⼀层放1个,

第⼆层3个(排列成三⾓形),

第三层6个(排列成三⾓形),

第四层10个(排列成三⾓形),

....

如果⼀共有100层,共有多少个煤球?

请填表⽰煤球总数⽬的数字。

注意:你提交的应该是⼀个整数,不要填写任何多余的内容或说明性⽂字。

1 * (1)

2 *** (3)

3 ****** (6)

4 ********** (10)

5 (15)

————————————————————————————————————————————————————————————*/ //

/**

* pre 定义上⼀层

* plus 定义增量差值 */

#include<iostream>

using namespace std ;

int main(int argc, char const *argv[])

{

int pre = 1 ; //

int plus = 2 ; //

long sum = 1 ;

for (int k = 2; k <= 100; ++k)

{

sum += (pre+plus) ;

pre = pre + plus ;//sum+=pre

plus++ ;

}

cout << sum << endl ;

return0;

}

//结果:171700

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2016年JavaB组省赛题

1.煤球数目 (结果填空)

有一堆煤球,堆成三角棱锥形。具体:

第一层放1个,

第二层3个(排列成三角形),

第三层6个(排列成三角形),

第四层10个(排列成三角形),

....

如果一共有100层,共有多少个煤球?

请填表示煤球总数目的数字。

注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

2.生日蜡烛 (结果填空)

某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。

请问,他从多少岁开始过生日party的?

请填写他开始过生日party的年龄数。

注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

3.凑算式 (结果填空)

B DEF

A + --- + ------- = 10

C GHI

(如果显示有问题,可以参见【图1.jpg】)

这个算式中A~I代表0~9的数字,不同的字母代表不同的数字。

比如:

6+8/3+952/714 就是一种解法,

5+3/1+972/486 是另一种解法。

这个算式一共有多少种解法?

注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。

5.抽签 (代码填空)

X星球要派出一个5人组成的观察团前往W星。

其中:

A国最多可以派出4人。

B国最多可以派出2人。

C国最多可以派出2人。

....

那么最终派往W星的观察团会有多少种国别的不同组合呢?

下面的程序解决了这个问题。

数组a[] 中既是每个国家可以派出的最多的名额。

程序执行结果为:

DEFFF

CEFFF

CDFFF

CDEFF

CCFFF

CCEFF

CCDFF

CCDEF

BEFFF

BDFFF

BDEFF

BCFFF

BCEFF

BCDFF

BCDEF

....

(以下省略,总共101行)

[java]

1.public class Main

2.{

3.public static void f(int[] a, int k, int n, String s)

4. {

5.if(k==a.length){

6.if(n==0) System.out.println(s);

7.return;

8. }

9.

10. String s2 = s;

11.for(int i=0; i<=a[k]; i++){

12.

13. _____________________________; //填空位置

14. s2 += (char)(k+'A');

15. }

16. }

17.

18.public static void main(String[] args)

19. {

20.int[] a = {4,2,2,1,1,3};

21.

22. f(a,0,5,"");

23. }

24.}

6.方格填数 (结果填空)

如下的10个格子

+--+--+--+

| | | |

+--+--+--+--+

| | | | |

+--+--+--+--+

| | | |

+--+--+--+

(如果显示有问题,也可以参看【图1.jpg】)

填入0~9的数字。要求:连续的两个数字不能相邻。

(左右、上下、对角都算相邻)

一共有多少种可能的填数方案?

请填写表示方案数目的整数。

注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

7.剪邮票 (结果填空)

如【图1.jpg】, 有12张连在一起的12生肖的邮票。

现在你要从中剪下5张来,要求必须是连着的。

(仅仅连接一个角不算相连)

比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。

请你计算,一共有多少种不同的剪取方法。

请填写表示方案数目的整数。

注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

8.四平方和 (程序设计)

四平方和定理,又称为拉格朗日定理:

每个正整数都可以表示为至多4个正整数的平方和。

如果把0包括进去,就正好可以表示为4个数的平方和。

比如:

5 = 0^2 + 0^2 + 1^2 + 2^2

7 = 1^2 + 1^2 + 1^2 + 2^2

(^符号表示乘方的意思)

对于一个给定的正整数,可能存在多种平方和的表示法。

要求你对4个数排序:

0 <= a <= b <= c <= d

并对所有的可能表示法按a,b,c,d 为联合主键升序排列,最后输出第一个表示法

程序输入为一个正整数N (N<5000000)

要求输出4个非负整数,按从小到大排序,中间用空格分开

例如,输入:

5

则程序应该输出:

0 0 1 2

再例如,输入:

相关文档
最新文档