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

歡迎訪問 生活随笔!

生活随笔

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

java

第七届蓝桥杯省赛JavaC组真题——详细答案对照(完整版)

發布時間:2024/8/26 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第七届蓝桥杯省赛JavaC组真题——详细答案对照(完整版) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

A、有獎猜謎

B、煤球數目

C、平方怪圈

D、骰子游戲

E、分小組

F、湊算式

G、搭積木

H、冰雹數

I、四平方和

J、密碼脫落


A、有獎猜謎

小明很喜歡猜謎語。
最近,他被邀請參加了X星球的猜謎活動。

每位選手開始的時候都被發給777個電子幣。
規則是:猜對了,手里的電子幣數目翻倍,
猜錯了,扣除555個電子幣, 扣完為止。

小明一共猜了15條謎語。
戰果為:vxvxvxvxvxvxvvx
其中v表示猜對了,x表示猜錯了。

請你計算一下,小明最后手里的電子幣數目是多少。

請填寫表示最后電子幣數目的數字。
注意:你提交的應該是一個整數,不要填寫任何多余的內容或說明性文字。

題解:

package demo;public class demo {public static void main(String[] args) {String string = "vxvxvxvxvxvxvvx";int start = 777; // 初始值int end = start; // 結束值for (int i = 0; i < string.length(); i++) {if (string.charAt(i) == 'v') {end *= 2;} else {end -= 555;}}System.out.println(end);} }

B、煤球數目

有一堆煤球,堆成三角棱錐形。具體:
第一層放1個,
第二層3個(排列成三角形),
第三層6個(排列成三角形),
第四層10個(排列成三角形),
....
如果一共有100層,共有多少個煤球?

請填表示煤球總數目的數字。
注意:你提交的應該是一個整數,不要填寫任何多余的內容或說明性文字。

題解:

package demo;public class demo {public static void main(String[] args) {int an = 1;int sn = an;for (int i = 2; i <= 100; i++) {an += i;sn += an;}System.out.println(sn);} }

C、平方怪圈

如果把一個正整數的每一位都平方后再求和,得到一個新的正整數。
對新產生的正整數再做同樣的處理。

如此一來,你會發現,不管開始取的是什么數字,
最終如果不是落入1,就是落入同一個循環圈。

請寫出這個循環圈中最大的那個數字。

請填寫該最大數字。
注意:你提交的應該是一個整數,不要填寫任何多余的內容或說明性文字。

題解:

package demo;import java.util.Scanner;public class demo {public static void main(String []args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int sum = 0;int max = 0;for (int i = 1; i < 100; i++) {while (n != 0) {sum += Math.pow((n % 10), 2); n /= 10;}if (sum > max) {max = sum;}n = sum;sum = 0;}System.out.println(max);sc.close();} }

D、骰子游戲

我們來玩一個游戲。
同時擲出3個普通骰子(6個面上的數字分別是1~6)。
如果其中一個骰子上的數字等于另外兩個的和,你就贏了。

下面的程序計算出你能獲勝的精確概率(以既約分數表示)


public class Main
{
? public static int gcd(int a, int b)
? {
? ? ? if(b==0) return a;
? ? ?return gcd(b,a%b);
? ? }

?public static void main(String[] args)
? ?{ ? ?
? ? ? ?int n = 0;
? ??? ? ? for(int i=0; i<6; i++)
? ??? ? ? for(int j=0; j<6; j++)
? ? ?for(int k=0; k<6; k++){
? ? ? ? ?if(________________________________) n++; ? //填空位置
? ? ? }
? ??
? ? ?int m = gcd(n,6*6*6);
? ? ? System.out.println(n/m + "/" + 6*6*6/m);
? ?}
}


仔細閱讀代碼,填寫劃線部分缺少的內容。

注意:不要填寫任何已有內容或說明性文字。

題解:

package demo;public class demo {public static int gcd(int a, int b) {if (b == 0)return a;return gcd(b, a % b);}public static void main(String[] args) {int n = 0;for (int i = 0; i < 6; i++)for (int j = 0; j < 6; j++)for (int k = 0; k < 6; k++) {if(i == j + k || j == i + k || k == i + j)n++; //填空位置}int m = gcd(n, 6 * 6 * 6); // 獲取最大公約數System.out.println(n / m + "/" + 6 * 6 * 6 / m); // 約分} }

E、分小組

9名運動員參加比賽,需要分3組進行預賽。
有哪些分組的方案呢?

我們標記運動員為 A,B,C,... I
下面的程序列出了所有的分組方法。

該程序的正常輸出為:
ABC DEF GHI
ABC DEG FHI
ABC DEH FGI
ABC DEI FGH
ABC DFG EHI
ABC DFH EGI
ABC DFI EGH
ABC DGH EFI
ABC DGI EFH
ABC DHI EFG
ABC EFG DHI
ABC EFH DGI
ABC EFI DGH
ABC EGH DFI
ABC EGI DFH
ABC EHI DFG
ABC FGH DEI
ABC FGI DEH
ABC FHI DEG
ABC GHI DEF
ABD CEF GHI
ABD CEG FHI
ABD CEH FGI
ABD CEI FGH
ABD CFG EHI
ABD CFH EGI
ABD CFI EGH
ABD CGH EFI
ABD CGI EFH
ABD CHI EFG
ABD EFG CHI
..... (以下省略,總共560行)。

public class A
{
? ?public static String remain(int[] a)
? ?{
? ? ? ? ?String s = "";
? ?? ? ? ? for(int i=0; i<a.length; i++){
?? ? ? ? ? ?if(a[i] == 0) s += (char)(i+'A');
??? ? ? } ? ?
? ?? ? ?return s;
? ?}

?public static void f(String s, int[] a)
?{
? ? ?for(int i=0; i<a.length; i++){
?? ? ? ? ? ?if(a[i]==1) continue;
??? ? ? ? ? a[i] = 1;
? ?? ? ? ? ?for(int j=i+1; j<a.length; j++){
? ? ? ? ?? ? ? ?if(a[j]==1) continue;
? ? ? ? ?? ? ? ? a[j]=1;
? ? ? ?? ? ? ? ?for(int k=j+1; k<a.length; k++){
? ? ? ? ?? ? ? ? ? ?if(a[k]==1) continue;
? ? ? ??? ? ? ? ? ? a[k]=1;
? ? ? ?? ? ? ? ? ? ?System.out.println(__________________________________); ?//填空位置
? ? ? ??? ? ? ? ? ? a[k]=0;
? ? ? ??? ? ? ? }
? ? ? ??? ? ? ? a[j]=0;
? ?? ? ? ? ?}
? ?? ? ? ? ?a[i] = 0;
??? ? ? }
? ?}

?public static void main(String[] args)
? {
?? ? ? ?int[] a = new int[9]; ? ? ? ?
?? ? ? ?a[0] = 1;
? ??
? ? ?for(int b=1; b<a.length; b++){
? ?? ? ? ? ?a[b] = 1;
? ??? ? ? ? for(int c=b+1; c<a.length; c++){
? ??? ? ? ? ? ? a[c] = 1;
? ? ?? ? ? ? ? ?String s = "A" + (char)(b+'A') + (char)(c+'A');
? ? ?? ? ? ? ? ?f(s,a);
? ??? ? ? ? ? ? a[c] = 0;
??? ? ? ? ? }
? ? ?? ? ? ?a[b] = 0;
? ?? ? ?}
? }
}

仔細閱讀代碼,填寫劃線部分缺少的內容。

注意:不要填寫任何已有內容或說明性文字。

題解:

package demo;public class demo {public static String remain(int[] a) {String s = "";for (int i = 0; i < a.length; i++) {if (a[i] == 0)s += (char) (i + 'A');}return s;}public static void f(String s, int[] a) {for (int i = 0; i < a.length; i++) {if (a[i] == 1)continue;a[i] = 1;for (int j = i + 1; j < a.length; j++) {if (a[j] == 1)continue;a[j] = 1;for (int k = j + 1; k < a.length; k++) {if (a[k] == 1)continue;a[k] = 1;System.out.println(s + " " + (char) ('A' + i) + "" + (char) ('A' + j) + "" + (char) ('A' + k) + " "+ remain(a)); // 填空位置a[k] = 0;}a[j] = 0;}a[i] = 0;}}public static void main(String[] args) {int[] a = new int[9];a[0] = 1;// 前三個字符for (int b = 1; b < a.length; b++) {a[b] = 1;for (int c = b + 1; c < a.length; c++) {a[c] = 1;String s = "A" + (char) (b + 'A') + (char) (c + 'A');f(s, a);a[c] = 0;}a[b] = 0;}} }

F、湊算式

(如果顯示有問題,可以參見上圖)
這個算式中A~I代表1~9的數字,不同的字母代表不同的數字。

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

這個算式一共有多少種解法?

注意:你提交應該是個整數,不要填寫任何多余的內容或說明性文字。

題解:

package demo;public class demo {public static void main(String[] args) {double[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };dfs(arr, 0, arr.length);System.out.println(count);}static int count = 0;public static void dfs(double[] arr, int start, int end) {if (start == end) {if (arr[0] + arr[1] / arr[2]+ (arr[3] * 100 + arr[4] * 10 + arr[5]) / (arr[6] * 100 + arr[7] * 10 + arr[8]) == 10) {count++;}}for (int i = start; i < end; i++) {double temp = arr[i];arr[i] = arr[start];arr[start] = temp;dfs(arr, start + 1, end);temp = arr[i];arr[i] = arr[start];arr[start] = temp;}} }

G、搭積木

小明最近喜歡搭數字積木,
一共有10塊積木,每個積木上有一個數字,0~9。

搭積木規則:
每個積木放到其它兩個積木的上面,并且一定比下面的兩個積木數字小。
最后搭成4層的金字塔形,必須用完所有的積木。

下面是兩種合格的搭法:

? ?0
? 1 2
?3 4 5
6 7 8 9

? ?0
? 3 1?? ?
?7 5 2
9 8 6 4 ? ?

請你計算這樣的搭法一共有多少種?

請填表示總數目的數字。
注意:你提交的應該是一個整數,不要填寫任何多余的內容或說明性文字。

題解:

package demo;public class demo {public static void main(String[] args) {int[] arr = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };dfs(arr, 0, arr.length);System.out.println(count);}public static void dfs(int[] arr, int start, int end) {if (start == end) {check(arr);return;}for (int i = start; i < end; i++) {int temp = arr[i];arr[i] = arr[start];arr[start] = temp;dfs(arr, start + 1, end);temp = arr[i];arr[i] = arr[start];arr[start] = temp;}}static int count = 0;public static void check(int[] arr) {if (arr[0] > arr[1] || arr[0] > arr[2]) {return;}if (arr[1] > arr[3] || arr[1] > arr[4]) {return;}if (arr[2] > arr[4] || arr[2] > arr[5]) {return;}if (arr[3] > arr[6] || arr[3] > arr[7]) {return;}if (arr[4] > arr[7] || arr[4] > arr[8]) {return;}if (arr[5] > arr[8] || arr[5] > arr[9]) {return;}count++;} }

H、冰雹數

任意給定一個正整數N,
如果是偶數,執行: N / 2
如果是奇數,執行: N * 3 + 1

生成的新的數字再執行同樣的動作,循環往復。

通過觀察發現,這個數字會一會兒上升到很高,
一會兒又降落下來。
就這樣起起落落的,但最終必會落到“1”
這有點像小冰雹粒子在冰雹云中翻滾增長的樣子。

比如N=9
9,28,14,7,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1
可以看到,N=9的時候,這個“小冰雹”最高沖到了52這個高度。

輸入格式:
一個正整數N(N<1000000)
輸出格式:
一個正整數,表示不大于N的數字,經過冰雹數變換過程中,最高沖到了多少。

例如,輸入:
10
程序應該輸出:
52

再例如,輸入:
100
程序應該輸出:
9232

資源約定:
峰值內存消耗(含虛擬機) < 256M
CPU消耗 ?< 1000ms


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

所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。
注意:不要使用package語句。不要使用jdk1.7及以上版本的特性。
注意:主類的名字必須是:Main,否則按無效代碼處理。

題解:

package demo;import java.util.Scanner;public class demo {// 冰雹數public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();sc.close();long l[] = new long[1000001];for (int i = 2; i <= n; i++) {long t = i;long max = 0;while (t != 1) {if (t % 2 == 0) {t /= 2;if (t < 1000001 && l[(int) t] != 0) {l[i] = l[(int) t];break;}} else {t = t * 3 + 1;if (t > max)max = t;}}if (max > l[i - 1])l[i] = max;elsel[i] = l[i - 1];}System.out.println(l[n]);}}

I、四平方和

四平方和定理,又稱為拉格朗日定理:
每個正整數都可以表示為至多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

再例如,輸入:
12
則程序應該輸出:
0 2 2 2

再例如,輸入:
773535
則程序應該輸出:
1 1 267 838

資源約定:
峰值內存消耗(含虛擬機) < 256M
CPU消耗 ?< 3000ms


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

所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。
注意:不要使用package語句。不要使用jdk1.7及以上版本的特性。
注意:主類的名字必須是:Main,否則按無效代碼處理。

題解:

package demo;import java.util.Scanner;public class demo {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();for (int i = 0; i < Math.sqrt(n); i++) {for (int j = 0; j < Math.sqrt(n - i * i); j++) {for (int k = 0; k < Math.sqrt(n - j * j); k++) {for (int m = 0; m < Math.sqrt(n - k * k); m++) {if (i * i + j * j + k * k + m * m == n) {System.out.println(i + " " + j + " " + k + " " + m + " ");return;}}}}}}}

J、密碼脫落

X星球的考古學家發現了一批古代留下來的密碼。
這些密碼是由A、B、C、D 四種植物的種子串成的序列。
仔細分析發現,這些密碼串當初應該是前后對稱的(也就是我們說的鏡像串)。
由于年代久遠,其中許多種子脫落了,因而可能會失去鏡像的特征。

你的任務是:
給定一個現在看到的密碼串,計算一下從當初的狀態,它要至少脫落多少個種子,才可能會變成現在的樣子。

輸入一行,表示現在看到的密碼串(長度不大于1000)
要求輸出一個正整數,表示至少脫落了多少個種子。

例如,輸入:
ABCBA
則程序應該輸出:
0

再例如,輸入:
ABDCDCBABC
則程序應該輸出:
3

資源約定:
峰值內存消耗(含虛擬機) < 256M
CPU消耗 ?< 3000ms

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

所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。
注意:不要使用package語句。不要使用jdk1.7及以上版本的特性。
注意:主類的名字必須是:Main,否則按無效代碼處理。

題解:

package demo;import java.util.Scanner;public class demo {public static String A;public static String backA;public static int dfs(int lenA, int lenB) {if (lenA == -1 || lenB == -1)return 0;if (A.charAt(lenA) == backA.charAt(lenB))return dfs(lenA - 1, lenB - 1) + 1;elsereturn Math.max(dfs(lenA - 1, lenB), dfs(lenA, lenB - 1));}public static void main(String[] args) {Scanner sc = new Scanner(System.in);A = sc.nextLine();backA = "";for (int i = A.length() - 1; i >= 0; i--)backA += A.charAt(i);int result = A.length() - dfs(A.length() - 1, backA.length() - 1);System.out.println(result);}}

總結

以上是生活随笔為你收集整理的第七届蓝桥杯省赛JavaC组真题——详细答案对照(完整版)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 免费在线观看黄网站 | 精品不卡一区二区 | 成人熟女一区二区 | 日韩色av| 亚洲最大黄色网址 | 一级黄色片视频 | 青青草视频免费观看 | 臭脚猛1s民工调教奴粗口视频 | bt天堂新版中文在线地址 | 麻豆精品91 | 久中文字幕| 亚洲激情免费 | 精品久久久在线观看 | 九色丨蝌蚪丨成人 | 中文字幕一区二区三区在线视频 | 午夜一区不卡 | 五月天六月婷婷 | 精品免费在线观看 | 中文字幕免费在线观看 | 天天爱av | 欧美一级性生活视频 | 精品国产一级 | 久久久久久国 | avav亚洲 | 国产在线成人精品午夜 | 五月天婷婷综合 | 伊在线久久丫 | 免费无码不卡视频在线观看 | 自拍偷拍另类 | 国产真实乱 | 波多野吉衣一区二区 | 欧美不卡视频在线观看 | 国产男人搡女人免费视频 | 午夜裸体性播放 | 波多野结衣av片 | 50一60岁老妇女毛片 | 天堂在线观看视频 | 99ri精品| 色资源av| 亚洲熟伦熟女新五十路熟妇 | aaaa视频 | 中文字幕在线观看一区二区 | 亚洲天堂一区二区三区四区 | 欧美一级看片 | 日本不卡高字幕在线2019 | 美女张开腿让男人操 | 亚洲国产精品视频在线观看 | 男人干女人视频 | xxx毛片| 香港黄色网 | av三级网站 | 午夜av导航| 94av视频| 中文字幕乱码在线观看 | 天天干精品 | 午夜爱爱毛片xxxx视频免费看 | 中文字幕乱码人妻一区二区三区 | 国产91在线亚洲 | 亚洲成人伊人 | 亚洲av无码国产精品色午夜 | 91浏览器在线观看 | 久久福利视频导航 | 国产v亚洲v天堂无码久久久 | 中文在线观看免费网站 | 91精品视频免费在线观看 | 久草青青 | 粗了大了 整进去好爽视频 日本女优中文字幕 | 美美女高清毛片视频免费观看 | 久久久久久久久久国产 | 婷婷五月色综合 | aaa大片十八岁禁止 中文字幕亚洲在线观看 | 亚洲综合在线网 | 日本大奶子视频 | 超碰视屏 | 国产一区不卡在线观看 | 五月天亚洲综合 | 日本道在线观看 | 人人看人人做 | 成人免费观看视频网站 | 操操色 | 日本高清视频一区二区三区 | 日本精品一区二区在线观看 | 色亚洲色图 | 操人视频网站 | 国产精品综合视频 | 久久综合久久88 | 一本久久a精品一合区久久久 | www.国产精品 | 久久一区精品 | 91桃色网站 | 爱爱15p| 天天干狠狠 | 亚洲首页 | 欧美日韩福利视频 | 婷婷久| 久久精品一二区 | 日日射天天操 | 国产精品无码午夜福利 | 婷婷综合色|