日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

2017届蓝桥杯java_2017第八届蓝桥杯JavaC组决赛(国赛)试题汇总及试题详解-Go语言中文社区...

發布時間:2025/3/20 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2017届蓝桥杯java_2017第八届蓝桥杯JavaC组决赛(国赛)试题汇总及试题详解-Go语言中文社区... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

題解待更新

第一題:數位和

題目描述

數學家高斯很小的時候就天分過人。一次老師指定的算數題目是:1+2+...+100。

高斯立即做出答案:5050!

這次你的任務是類似的。但并非是把一個個的數字加起來,而是對該數字的每一個數位作累加。

這樣從1加到100的“和”是:901

從10加到15是:21,也就是:1+0+1+1+1+2+1+3+1+4+1+5,這個口算都可以出結果的。

按這樣的“加法”,從1加到1000是多少呢? 請通過瀏覽器提交該結果。

當然,我們并不期望你能像高斯一樣,發現數字背后深奧的秘密,只要請計算機幫忙,一切都easy!

注意:你需要提交的是一個整數,不要填寫任何多余的內容(比如:說明性文字)

第二題:數字劃分

題目描述

w星球的長老交給小明一個任務:

1,2,3...16 這16個數字分為兩組。

要求:

這兩組數字的和相同,

并且,兩組數字的平方和也相同,

并且,兩組數字的立方和也相同。

請你利用計算機的強大搜索能力解決這個問題。

并提交1所在的那個分組的所有數字。

這些數字要從小到大排列,兩個數字間用一個空格分開。

即類似:1 4 5 8 ... ?這樣的答案。

注意,只提交這一組數字,不要填寫任何多余的內容。

----------------------------------------

笨笨有話說:

只要一個組的成員確定了,另一個組的成員也就確定了。枚舉一個組的成員就可以了。

憑直覺,兩個組的成員數目不會差太多吧。

歪歪有話說:

既然求 1 所在的那個組,那只要枚舉剩余的成員就可以了。

貌似都是8個成員的可能性很大啊。

第三題:樹形顯示

題目描述

對于分類結構可以用樹形來形象地表示。比如:文件系統就是典型的例子。

樹中的結點具有父子關系。我們在顯示的時候,把子項向右縮進(用空格,不是tab),并添加必要的連接線,以使其層次關系更醒目。

下面的代碼就是為了這個目的的,請仔細閱讀源碼,并填寫劃線部分缺少的代碼。

import java.util.*;

class MyTree

{

private Map> ?map_ch = new HashMap>();

private Map map_pa = new HashMap();

public void add(String parent, String child)

{

map_pa.put(child, parent);

List lst = map_ch.get(parent);

if(lst==null){

lst = new ArrayList();

map_ch.put(parent, lst);

}

lst.add(child);

}

public String get_parent(String me){

return map_pa.get(me);

}

public List get_child(String me){

return map_ch.get(me);

}

private String space(int n)

{

String s = "";

for(int i=0; i

return s;

}

private boolean last_child(String x){

String pa = map_pa.get(x);

if(pa==null) return true;

List lst = map_ch.get(pa);

return lst.get(lst.size()-1).equals(x);

}

public void show(String x){

String s = "+--" + x;

String pa = x;

while(true){

pa = map_pa.get(pa);

if(pa==null) break;

s = ___________________________________ ; ?// 填空

}

System.out.println(s);

}

public void dfs(String x){

show(x);

List lst = map_ch.get(x);

if(lst==null) return;

for(String it: lst){

dfs(it);

}

}

}

public class TreeView

{

public static void main(String[] args)

{

MyTree tree = new MyTree();

tree.add("root", "dog");

tree.add("root", "cat");

tree.add("root", "duck");

tree.add("dog", "AAdog");

tree.add("dog", "BBdog");

tree.add("dog", "CCdog");

tree.add("AAdog", "AAdog01");

tree.add("AAdog", "AAdog02");

tree.add("cat", "XXcat");

tree.add("cat", "YYcat");

tree.add("XXcat","XXcat-oo");

tree.add("XXcat","XXcat-qq");

tree.add("XXcat-qq", "XXcat-qq-hahah");

tree.add("duck", "TTduck");

tree.add("TTduck", "TTduck-001");

tree.add("TTduck", "TTduck-002");

tree.add("TTduck", "TTduck-003");

tree.add("YYcat","YYcat.hello");

tree.add("YYcat","YYcat.yes");

tree.add("YYcat","YYcat.me");

tree.dfs("root");

}

}

對于題目中的測試數據,輸出結果:

+--root

+--dog

| ? ?+--AAdog

| ? ?| ? ?+--AAdog01

| ? ?| ? ?+--AAdog02

| ? ?+--BBdog

| ? ?+--CCdog

+--cat

| ? ?+--XXcat

| ? ?| ? ?+--XXcat-oo

| ? ?| ? ?+--XXcat-qq

| ? ?| ? ? ? ? +--XXcat-qq-hahah

| ? ?+--YYcat

| ? ? ? ? +--YYcat.hello

| ? ? ? ? +--YYcat.yes

| ? ? ? ? +--YYcat.me

+--duck

+--TTduck

+--TTduck-001

+--TTduck-002

+--TTduck-003

如有平字體對齊問題,可以參見圖【p1.png】

注意,只填寫劃線部分缺少的代碼,不要抄寫已有的代碼或符號。

p1.png

第四題:小數第n位

題目描述

我們知道,整數做除法時,有時得到有限小數,有時得到無限循環小數。

如果我們把有限小數的末尾加上無限多個0,它們就有了統一的形式。

本題的任務是:在上面的約定下,求整數除法小數點后的第n位開始的3位數。

輸入:

一行三個整數:a b n,用空格分開。a是被除數,b是除數,n是所求的小數后位置(0

輸出:

一行3位數字,表示:a除以b,小數后第n位開始的3位數字。

比如:

輸入:

1 8 1

程序應該輸出:

125

再比如:

輸入:

1 8 3

程序應該輸出:

500

再比如:

輸入:

282866 999000 6

程序應該輸出:

914

資源約定:

峰值內存消耗 < 256M

CPU消耗 ?< 1000ms

請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。

所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。

注意:不要使用package語句。不要使用jdk1.7及以上版本的特性。

注意:主類的名字必須是:Main,否則按無效代碼處理。

----------------------------------------

笨笨有話說:

這個除法小學就會算啊,模擬手算除法的過程就可以了吧。

只是數有點大啊....

管它呢,能算多遠算多遠....

歪歪有話說:

如果我能確定循環節從哪里開始到哪里結束,再大的數不過就是與它取模的余數等價啊

第五題:分考場

題目描述

n個人參加某項特殊考試。

為了公平,要求任何兩個認識的人不能分在同一個考場。

求是少需要分幾個考場才能滿足條件。

輸入格式:

第一行,一個整數n(1

第二行,一個整數m,表示接下來有m行數據

以下m行每行的格式為:兩個整數a,b,用空格分開 (1<=a,b<=n) ?表示第a個人與第b個人認識。

輸出格式:

一行一個整數,表示最少分幾個考場。

例如:

輸入:

5

8

1 2

1 3

1 4

2 3

2 4

2 5

3 4

4 5

程序應該輸出:

4

再比如:

輸入:

5

10

1 2

1 3

1 4

1 5

2 3

2 4

2 5

3 4

3 5

4 5

則程序應該輸出:

5

資源約定:

峰值內存消耗 < 256M

CPU消耗 ?< 1000ms

請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。

所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。

注意:不要使用package語句。不要使用jdk1.7及以上版本的特性。

注意:主類的名字必須是:Main,否則按無效代碼處理。

第六題:合根植物

題目描述

w星球的一個種植園,被分成 m * n 個小格子(東西方向m行,南北方向n列)。每個格子里種了一株合根植物。

這種植物有個特點,它的根可能會沿著南北或東西方向伸展,從而與另一個格子的植物合成為一體。

如果我們告訴你哪些小格子間出現了連根現象,你能說出這個園中一共有多少株合根植物嗎?

輸入格式:

第一行,兩個整數m,n,用空格分開,表示格子的行數、列數(1

接下來一行,一個整數k,表示下面還有k行數據(0

接下來k行,第行兩個整數a,b,表示編號為a的小格子和編號為b的小格子合根了。

格子的編號一行一行,從上到下,從左到右編號。

比如:5 * 4 的小格子,編號:

1 ?2 ?3 ?4

5 ?6 ?7 ?8

9 ?10 11 12

13 14 15 16

17 18 19 20

樣例輸入:

5 4

16

2 3

1 5

5 9

4 8

7 8

9 10

10 11

11 12

10 14

12 16

14 18

17 18

15 19

19 20

9 13

13 17

樣例輸出:

5

其合根情況參考圖[p1.png]

資源約定:

峰值內存消耗 < 256M

CPU消耗 ?< 2000ms

請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。

所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。

注意:不要使用package語句。不要使用jdk1.7及以上版本的特性。

注意:主類的名字必須是:Main,否則按無效代碼處理。

總結

以上是生活随笔為你收集整理的2017届蓝桥杯java_2017第八届蓝桥杯JavaC组决赛(国赛)试题汇总及试题详解-Go语言中文社区...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。