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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

第十二届蓝桥杯省赛JavaC组【第二场】真题——详细答案对照(完整版)

發(fā)布時(shí)間:2024/8/26 java 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第十二届蓝桥杯省赛JavaC组【第二场】真题——详细答案对照(完整版) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

#A 浮點(diǎn)數(shù)

#B 求余

#C 雙階乘

#D 格點(diǎn)

#E 整數(shù)分解

#F 3 的倍數(shù)

#G 特殊年份

#H 小平方

#I 完全平方數(shù)

#J 負(fù)載均衡


#A 浮點(diǎn)數(shù)

本題總分:5 分

問(wèn)題描述

IEEE 754 規(guī)定一個(gè)雙精度浮點(diǎn)數(shù)由 1位符號(hào)位、11 位階和 52 位尾數(shù)組成(以上位數(shù)都表示二進(jìn)制位數(shù))。
請(qǐng)問(wèn),按此規(guī)定一個(gè)雙精度浮點(diǎn)數(shù)占用幾個(gè)字節(jié)?

答案提交

這是一道結(jié)果填空的題,你只需要算出結(jié)果后提交即可。本題的結(jié)果為一個(gè)整數(shù),在提交答案時(shí)只填寫(xiě)

這個(gè)整數(shù),填寫(xiě)多余的內(nèi)容將無(wú)法得分。
8


代碼實(shí)現(xiàn)
無(wú)
思路:

(1+11+52)/8

#B 求余

本題總分:5 分

問(wèn)題描述

在 C/C++/Java/Python 等語(yǔ)言中,使用 % 表示求余,請(qǐng)問(wèn) 2021%20 的值是多少?

答案提交

這是一道結(jié)果填空的題,你只需要算出結(jié)果后提交即可。本題的結(jié)果為一個(gè)整數(shù),在提交答案時(shí)只填寫(xiě)這個(gè)整數(shù),填寫(xiě)多余的內(nèi)容將無(wú)法得分。

1

#C 雙階乘

本題總分:10 分

問(wèn)題描述

一個(gè)正整數(shù)的雙階乘,表示不超過(guò)這個(gè)正整數(shù)且與它有相同奇偶性的所有正整數(shù)乘積。n 的雙階乘用 n!!表示。
例如:
3 ! ! = 3 × 1 = 3。
8 ! ! = 8 × 6 × 4 × 2 = 384。
11 ! ! = 11 × 9 × 7 × 5 × 3 × 1 = 10395。
請(qǐng)問(wèn),2021!! 的最后 5 位(這里指十進(jìn)制位)是多少?
注意:2021!!=2021×2019×???×5×3×1。
提示:建議使用計(jì)算機(jī)編程解決問(wèn)題。
答案提交

這是一道結(jié)果填空的題,你只需要算出結(jié)果后提交即可。本題的結(jié)果為一個(gè)整數(shù),在提交答案時(shí)只填寫(xiě)這個(gè)整數(shù),填寫(xiě)多余的內(nèi)容將無(wú)法得分。
59375
代碼實(shí)現(xiàn)

public static void main(String[] args) {int x=2021,sum=1;for (int i = 3; i <= 2021; i+=2) {sum=(sum*i)%100000;}System.out.println(sum);}

#D 格點(diǎn)

本題總分:10 分

問(wèn)題描述

如果一個(gè)點(diǎn) ( x , y ) 的兩維坐標(biāo)都是整數(shù),即 x ∈ Z 且 y ∈ Z ,則稱這個(gè)點(diǎn)為一個(gè)格點(diǎn)。
如果一個(gè)點(diǎn) ( x , y ) 的兩維坐標(biāo)都是正數(shù),即 x > 0 ?且 y > 0 ?,則稱這個(gè)點(diǎn)在第一象限。
請(qǐng)問(wèn)在第一象限的格點(diǎn)中,有多少個(gè)點(diǎn) ( x , y ) 的兩維坐標(biāo)乘積不超過(guò) 2021 ,即 x ? y ≤ 2021。
提示:建議使用計(jì)算機(jī)編程解決問(wèn)題。

答案提交

這是一道結(jié)果填空的題,你只需要算出結(jié)果后提交即可。本題的結(jié)果為一個(gè)整數(shù),在提交答案時(shí)只填寫(xiě)這個(gè)整數(shù),填寫(xiě)多余的內(nèi)容將無(wú)法得分。
15696
代碼實(shí)現(xiàn)

public static void main(String[] args) {int sum=0;for (int i = 1; i < 2021; i++) {for (int j = 1; j < 2021; j++) {if(i*j<=2021) {sum++;}}}System.out.println(sum);}

#E 整數(shù)分解

本題總分:15 分

問(wèn)題描述

將 3 分解成兩個(gè)正整數(shù)的和,有兩種分解方法,分別是 3 = 1 + 2 和 3 = 2 + 1 。注意順序不同算不同的方法。
將 5 分解成三個(gè)正整數(shù)的和,有 6 種分解方法,它們是 1 + 1 + 3 = 1 + 2 + 2 = 1 + 3 + 1 = 2 + 1 + 2 = 2 + 2 + 1 = 3 + 1 + 1。
請(qǐng)問(wèn),將 2021 分解成五個(gè)正整數(shù)的和,有多少種分解方法?

答案提交

這是一道結(jié)果填空的題,你只需要算出結(jié)果后提交即可。本題的結(jié)果為一個(gè)整數(shù),在提交答案時(shí)只填寫(xiě)這個(gè)整數(shù),填寫(xiě)多余的內(nèi)容將無(wú)法得分。

public static void main(String[] args) {long[][] dp = new long[6][2022];java.util.Arrays.fill(dp[1], 1);for (int k = 2; k <= 5; k++)for (int i = k; i <= 2021; i++)dp[k][i] = dp[k][i - 1] + dp[k - 1][i - 1];System.out.println(dp[5][2021]);}

#F 3 的倍數(shù)

時(shí)間限制: 1.0s 內(nèi)存限制: 512.0MB 本題總分: 15 分

問(wèn)題描述

小藍(lán)對(duì) 3 33 的倍數(shù)很感興趣。現(xiàn)在他手頭有三個(gè)不同的數(shù) a , b , c ,他想知道,這三個(gè)數(shù)中是不是有兩個(gè)數(shù)的和是 3 的倍數(shù)。
例如,當(dāng) a = 3 , b = 4 , c = 6 時(shí),可以找到 a aa 和 c cc 的和是 3 的倍數(shù)。
例如,當(dāng) a = 3 , b = 4 , c = 7 時(shí),沒(méi)辦法找到兩個(gè)數(shù)的和是 3 的倍數(shù)。

輸入格式

輸入三行,每行一個(gè)整數(shù),分別表示 a , b , c a, b, ca,b,c。

輸出格式

如果可以找到兩個(gè)數(shù)的和是 3 33 的倍數(shù),輸出 y e s yesyes,否則輸出 n o nono。

測(cè)試樣例1
Input:
3
4
6

Output:
yes

測(cè)試樣例2
Input:
3
4
7

Output:
no
評(píng)測(cè)用例規(guī)模與約定

對(duì)于所有評(píng)測(cè)用例,1 ≤ a ≤ b ≤ c ≤ 100 。
代碼實(shí)現(xiàn)
?

public static void main(String[] args) {Scanner sc=new Scanner(System.in);int a=sc.nextInt();int b=sc.nextInt();int c=sc.nextInt();System.out.println(f(a,b,c,0));} public static String f(int x,int y,int z,int count) {if(count>=6) {return "no";}if((x+y)%3==0) {return "yes";}else {return f(y,z,x,count+1);} }

#G 特殊年份

時(shí)間限制: 1.0s 內(nèi)存限制: 512.0MB 本題總分:20 分

問(wèn)題描述

今年是 2021 年,2021 這個(gè)數(shù)字非常特殊,它的千位和十位相等,個(gè)位比百位大 1 ,我們稱滿足這樣條件的年份為特殊年份。
輸入 5 個(gè)年份,請(qǐng)計(jì)算這里面有多少個(gè)特殊年份。

輸入格式

輸入 5 ?行,每行一個(gè) 4 位十進(jìn)制數(shù)(數(shù)值范圍為 1000 至 9999 ),表示一個(gè)年份。

輸出格式

輸出一個(gè)整數(shù),表示輸入的 5 個(gè)年份中有多少個(gè)特殊年份。

測(cè)試樣例1
Input:
2019
2021
1920
2120
9899

Output:
2

Explanation:
2021 和 9899 是特殊年份,其它不是特殊年份。

代碼實(shí)現(xiàn)

static int sum=0; public static void main(String[] args) {Scanner sc=new Scanner(System.in);for (int i = 0; i < 5; i++) {f(sc.nextInt());}System.out.println(sum);} public static void f(int x) {if(x%10==x/100%10+1&&x/1000==x/10%10) {sum++;} }

#H 小平方

時(shí)間限制: 1.0s 內(nèi)存限制: 512.0MB 本題總分:20 分

問(wèn)題描述

小藍(lán)發(fā)現(xiàn),對(duì)于一個(gè)正整數(shù) n 和一個(gè)小于 n 的正整數(shù) v,將 v 平方后對(duì) n 取余可能小于 n 的一半,也可能大于等于 n 的一半。
請(qǐng)問(wèn),在 1 到 n ? 1 中,有多少個(gè)數(shù)平方后除以 n 的余數(shù)小于 n 的一半。
例如,當(dāng) n = 4 時(shí),1 , 2 , 3 的平方除以 4 的余數(shù)都小于 4 的一半。
又如,當(dāng) n = 5 時(shí),1 , 4 的平方除以 5 的余數(shù)都是 1 ,小于 5 的一半。而 2 , 3 的平方除以 5 的余數(shù)都是 4 ,大于等于 5 的一半。

輸入格式

輸入一行包含一個(gè)整數(shù) n 。

輸出格式

輸出一個(gè)整數(shù),表示滿足條件的數(shù)的數(shù)量。

測(cè)試樣例1
Input:
5

Output:
2
評(píng)測(cè)用例規(guī)模與約定

對(duì)于所有評(píng)測(cè)用例,1 ≤ n ≤ 10000 。
代碼實(shí)現(xiàn)

public static void main(String[] args) {Scanner sc=new Scanner(System.in);int x=sc.nextInt();int y=x/2;int sum=0;for (int i = 1; i <= x-1; i++) {double a=Math.pow(i, 2)%x;if(a<y) {sum++;}}System.out.println(sum); }

#I 完全平方數(shù)

時(shí)間限制: 2.0s 內(nèi)存限制: 512.0MB 本題總分:25 分

問(wèn)題描述

一個(gè)整數(shù) a 是一個(gè)完全平方數(shù),是指它是某一個(gè)整數(shù)的平方,即存在一個(gè)整數(shù) b ,使得 a = b^2 。
給定一個(gè)正整數(shù) n ,請(qǐng)找到最小的正整數(shù) x ,使得它們的乘積是一個(gè)完全平方數(shù)。

輸入格式

輸入一行包含一個(gè)正整數(shù) n 。

輸出格式

輸出找到的最小的正整數(shù) x 。

測(cè)試樣例1
Input:
12

Output:
3
測(cè)試樣例2
Input:
15

Output:
15
評(píng)測(cè)用例規(guī)模與約定

對(duì)于 30% 的評(píng)測(cè)用例,1 ≤ n ≤ 1000 ,答案不超過(guò) 1000 10001000。
對(duì)于 60% 的評(píng)測(cè)用例,1 ≤ n ≤ 10^8 ,答案不超過(guò) 10^8。
對(duì)于所有評(píng)測(cè)用例,1 ≤ n ≤ 1 0^12 ,答案不超過(guò) 10^12。


代碼實(shí)現(xiàn)
?

public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();int a=1;while(true) {String str=String.valueOf(Math.sqrt(n*a));int x=str.indexOf(".");int b=Integer.parseInt(String.valueOf(str.charAt(x+1)));if(b==0&&str.length()-x-1==1) {System.out.println(a);return;}a++;} }

#J 負(fù)載均衡

時(shí)間限制: 2.0s 內(nèi)存限制: 512.0MB 本題總分: 25 分

問(wèn)題描述

有 n 臺(tái)計(jì)算機(jī),第i臺(tái)計(jì)算機(jī)的運(yùn)算能力為 ?。
有一系列的任務(wù)被指派到各個(gè)計(jì)算機(jī)上,第 i 個(gè)任務(wù)在 ?時(shí)刻分配,指定計(jì)算機(jī)編號(hào)為 ,耗時(shí)為 且算力消耗為 。如果此任務(wù)成功分配,將立刻開(kāi)始運(yùn)行,期間持續(xù)占用 ? 號(hào)計(jì)算機(jī) ? 的算力,持續(xù) 秒。對(duì)于每次任務(wù)分配,如果計(jì)算機(jī)剩余的運(yùn)算能力不足則輸出 ?1,并取消這次分配,否則輸出分配完這個(gè)任務(wù)后這臺(tái)計(jì)算機(jī)的剩余運(yùn)算能力。

輸入格式

輸入的第一行包含兩個(gè)整數(shù) n,m,分別表示計(jì)算機(jī)數(shù)目和要分配的任務(wù)數(shù)。
第二行包含 n 個(gè)整數(shù) ,,···,分別表示每個(gè)計(jì)算機(jī)的運(yùn)算能力。
接下來(lái) m 行每行 4 個(gè)整數(shù) 意義如上所述。數(shù)據(jù)保證 ?嚴(yán)格遞增,即 。

輸出格式

輸出 m 行,每行包含一個(gè)數(shù),對(duì)應(yīng)每次任務(wù)分配的結(jié)果。
測(cè)試數(shù)據(jù)

Input: 2 6 5 5 1 1 5 3 2 2 2 6 3 1 2 3 4 1 6 1 5 1 3 3 6 1 3 4Output: 2 -1 -1 1 -1 0

?沒(méi)有完全解出來(lái),但是已經(jīng)能過(guò)幾個(gè)數(shù)據(jù)了,多少有一些提示作用。

代碼實(shí)現(xiàn) (有個(gè)bug沒(méi)修,但是給的測(cè)試用例沒(méi)問(wèn)題) //存儲(chǔ)任務(wù)的總信息static Map<Integer, List<Integer>> map=new HashMap<>();//存儲(chǔ)每個(gè)任務(wù)的時(shí)間static List<Integer> times=new ArrayList<>();//存儲(chǔ)每個(gè)任務(wù)所消耗的空間static List<Integer> kj=new ArrayList<>();public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();//電腦的數(shù)量int m=sc.nextInt();//任務(wù)數(shù)for (int i =1 ; i < n+1; i++) {map.putIfAbsent(i, new ArrayList<>());map.get(i).add(sc.nextInt());}for (int i = 1; i < m+1; i++) {int a=sc.nextInt();//讀取任務(wù)編號(hào)int b=sc.nextInt();//讀取電腦編號(hào)int c=sc.nextInt();//讀取時(shí)間消耗int d=sc.nextInt();//讀取空間消耗//時(shí)間消耗隨著任務(wù)的增長(zhǎng)而減小for (Integer item:map.keySet()) {if(map.get(item).size()==5) {for (int j = 0; j < times.size(); j++) {int y=times.get(j)-1;if(y==0) {int x=map.get(item).get(0);map.get(item).set(0,x+kj.remove(j));times.remove(j);}else {times.set(j, y);} }}}//初始化電腦的任務(wù)if(map.get(b).get(0)>d&&map.get(b).size()<5) {map.get(b).add(a);map.get(b).add(b);map.get(b).add(c);map.get(b).add(d); // times.add(c); // kj.add(d);}//判斷任務(wù)的消耗是否超出電腦本身的消耗if(map.get(b).get(0)-d<0) {System.out.println(-1);continue;}else {//未超出電腦消耗的話則為任務(wù)分配空間int x=map.get(b).get(0)-d;times.add(c);kj.add(d);System.out.println(x);map.get(b).set(0,x);}}}

照搬網(wǎng)上的,話說(shuō)按照網(wǎng)上的這個(gè)方法,我是很懵逼的。

import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; import java.util.PriorityQueue; import java.util.Queue;public class Main {public static void main(String[] args) {InputReader in = new InputReader(System.in);PrintWriter out = new PrintWriter(System.out);Queue<Item> queue = new PriorityQueue();int n = in.nextInt(), m = in.nextInt();int[] comp = new int[n + 1];int a, b, c, d, time = 1;for (int i = 1; i <= n; i++)comp[i] = in.nextInt();for (int i = 0; i < m; i++) {a = in.nextInt();b = in.nextInt();c = in.nextInt();d = in.nextInt();if (a > time) time = a;while (queue.size() > 0) {Item item = queue.peek();if (item.time > time) break;comp[item.idx] += item.val;queue.remove();}if (comp[b] >= d) {queue.add(new Item(b, d, time + c));out.println(comp[b] -= d);} else out.println("-1");}out.flush();}static class Item implements Comparable<Item> {int time, idx, val;Item(int idx, int val, int time) {this.time = time;this.idx = idx;this.val = val;}@Overridepublic int compareTo(Item o) {return this.time - o.time;}}static class InputReader {BufferedReader read;StringTokenizer token;String delimiters;InputReader (InputStream in) { this(in, " \t\n\r\f"); }InputReader (InputStream in, String delimiters) {this.read = new BufferedReader(new InputStreamReader(in));this.token = new StringTokenizer("", this.delimiters = delimiters);}String next() {while (!token.hasMoreTokens())try {token = new StringTokenizer(read.readLine(), delimiters);} catch (IOException e) {e.printStackTrace();}return token.nextToken();}int nextInt() { return Integer.parseInt(next()); }} }

總結(jié)

以上是生活随笔為你收集整理的第十二届蓝桥杯省赛JavaC组【第二场】真题——详细答案对照(完整版)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。