第九屆藍橋杯省賽【Java C組】
第一題:結果填空 哪天返回
小明被不明勢力劫持。後被扔到x星站再無問津。小明得知每天都有飛船飛往地球,但需要108元的船票,而他卻身無分文。
他決定在x星戰打工。好心的老闆答應包食宿,第1天給他1元錢。
並且,以後的每一天都比前一天多2元錢,直到他有足夠的錢買票。
請計算一下,小明在第幾天就能湊夠108元,返回地球。
答案:11
第二題:結果填空 猴子吃香蕉
5只猴子是好朋友,在海邊的椰子樹上睡著了。這期間,有商船把一大堆香蕉忘記在沙灘上離去。
第1只猴子醒來,把香蕉均分成5堆,還剩下1個,就吃掉並把自己的一份藏起來繼續睡覺。
第2只猴子醒來,重新把香蕉均分成5堆,還剩下2個,就吃掉並把自己的一份藏起來繼續睡覺。
第3只猴子醒來,重新把香蕉均分成5堆,還剩下3個,就吃掉並把自己的一份藏起來繼續睡覺。
第4只猴子醒來,重新把香蕉均分成5堆,還剩下4個,就吃掉並把自己的一份藏起來繼續睡覺。
第5只猴子醒來,重新把香蕉均分成5堆,哈哈,正好不剩!
請計算一開始最少有多少個香蕉。
public class Test2 { public static void main(String[] args) { // TODO Auto-generated method stub for(int i=3;i<=20000;i++){ int temp = i; if(i%5==1){ int sum1 = temp-1-((temp-1)/5); //總數-猴子吃掉的1個-屬於它自己的一份 if(sum1%5==2){ int sum2 = sum1-2-((sum1-2)/5); if(sum2%5==3){ int sum3 = sum2-3-((sum2-3)/5); if(sum3%5==4){ int sum4 = sum3-4-((sum3-4)/5); if(sum4%5==0){ System.out.println(temp); } } } } } } } }
答案:3141
第五題:書號驗證
2004年起,國際ISBN中心出版了《13位國際標準書號指南》。
原有10位書號前加978作為商品分類標識;校驗規則也改變。
校驗位的加權演算法與10位ISBN的演算法不同,具體演算法是:
用1分別乘ISBN的前12位中的奇數位(從左邊開始數起),用3乘以偶數位,乘積之和以10為模,10與模值的差值再對10取模(即取個位的數字)即可得到校驗位的值,其值範圍應該為0~9。
下面的程式實現了該演算法,請仔細閱讀原始碼,填寫缺失的部分。
public class A { static boolean f(String s){ int k=1; int sum = 0; for(int i=0; i<s.length(); i++){ char c = s.charAt(i); if(c=='-' || c==' ') continue; sum += ______________________________; //填空 k++; if(k>12) break; } return s.charAt(s.length()-1)-'0' == (10-sum % 10)%10; } public static void main(String[] args){ System.out.println(f("978-7-301-04815-3")); System.out.println(f("978-7-115-38821-6")); } }
注意:只提交空缺的程式碼,不要抄寫已經存在的程式碼。
答案:(k%2==1?(1*(c-'0')):(3*(c-'0')))
第六題:程式碼填空 列印大X
如下的程式目的是在控制檯列印輸出大X。
可以控制兩個引數:圖形的高度,以及筆寬。
用程式中的測試資料輸出效果:
(如果顯示有問題,可以參看p1.png)
高度=15, 筆寬=3
*** ***
*** ***
*** ***
*** ***
*** ***
*** ***
*****
***
*****
*** ***
*** ***
*** ***
*** ***
*** ***
*** ***
高度=8, 筆寬=5
***** *****
**********
********
******
******
********
**********
***** *****
請仔細分析程式流程,填寫缺失的程式碼。
public class A
{
static void f(int h, int w){
System.out.println(String.format("高度=%d, 筆寬=%d",h,w));
int a1 = 0;
int a2 = h - 1;
for(int k=0; k<h; k++){
int p = Math.min(a1,a2);
int q = Math.max(a1+w,a2+w);
for(int i=0; i<p; i++) System.out.print(" ");
if(q-p<w*2){
____________________________________________ ; //填空
}
else{
for(int i=0; i<w; i++) System.out.print("*");
for(int i=0; i<q-p-w*2; i++) System.out.print(" ");
for(int i=0; i<w; i++) System.out.print("*");
}
System.out.println();
a1++;
a2--;
}
}
public static void main(String[] args){
f(15,3);
f(8,5);
}
}
答案:for(int i=0;i<q-p;i++)System.out.print("*");
第七題:程式設計題 縮位求和
在電子計算機普及以前,人們經常用一個粗略的方法來驗算四則運算是否正確。
比如:248 * 15 = 3720
把乘數和被乘數分別逐位求和,如果是多位數再逐位求和,直到是1位數,得
2 + 4 + 8 = 14 ==> 1 + 4 = 5;
1 + 5 = 6
5 * 6
而結果逐位求和為 3
5 * 6 的結果逐位求和與3符合,說明正確的可能性很大!!(不能排除錯誤)
請你寫一個計算機程式,對給定的字串逐位求和:
輸入為一個由數字組成的串,表示n位數(n<1000);
輸出為一位數,表示反覆逐位求和的結果。
例如:輸入:
35379
程式應該輸出:
9
再例如:
輸入:
7583676109608471656473500295825
程式應該輸出:
1資源約定:
峰值記憶體消耗(含虛擬機器) < 256M
CPU消耗 < 1000ms
import java.util.Scanner;
public class Test7 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String str = s.next();
while(str.length()!=1){
int a = str.charAt(0)-'0';//-'0'是為了把字串型別轉為int型別
for(int i=1;i<str.length();i++){
a+=str.charAt(i)-'0';
}
str=a+"";//轉為字串
}
System.out.println(str);
}
}
相關推薦
第九屆藍橋杯省賽【Java C組】
第一題:結果填空 哪天返回小明被不明勢力劫持。後被扔到x星站再無問津。小明得知每天都有飛船飛往地球,但需要108元的船票,而他卻身無分文。他決定在x星戰打工。好心的老闆答應包食宿,第1天給他1元錢。並且,以後的每一天都比前一天多2元錢,直到他有足夠的錢買票。請計算一下,小明在
2018第九屆藍橋杯省賽真題 C語言B組 第一題
標題:第幾天 2000年的1月1日,是那一年的第1天。 那麼,2000年的5月4日,是那一年的第幾天? 注意:需要提交的是一個整數,不要填寫任何多餘內容。 答案:125 可以被四百整除,所以是
2018第九屆藍橋杯省賽真題 C語言B組 第六題 遞增三元組
標題:遞增三元組 給定三個整數陣列 A = [A1, A2, … AN], B = [B1, B2, … BN], C = [C1, C2, … CN], 請你統計有多少個三元組(i, j,
第九屆藍橋杯省賽JAVA語言 C組題解_1哪天返回
JAVA語言 C組題解_題1 哪天返回題目解題思路 題目 小明被不明勢力劫持。後被扔到x星站再無問津。小明得知每天都有飛船飛往地球,但需要108元的船票,而他卻身無分文。 他決定在x星戰打工。好心的老闆答應包食宿,第1天給他1元錢。 並且,以後的每一天都比前一天
第九屆藍橋杯省賽JAVA語言 C組題解_題10 耐摔指數
JAVA語言 C組題解_題10 耐摔指數 題目 解題思路 題目 標題:耐摔指數 x星球的居民脾氣不太好,但好在他們生氣的時候唯一的異常舉動是:摔手機。 各大廠商也就紛紛推出各種耐摔型手機。x星球的質監局規定了手機必須經
第九屆藍橋杯省賽JAVA語言 C組題解_題7 縮位求和
JAVA語言 C組題解_題7 縮位求和 題目 解題思路 題目 標題:縮位求和 在電子計算機普及以前,人們經常用一個粗略的方法來驗算四則運算是否正確。 比如:248 * 15 = 3720 把乘數和被乘數分別逐位求和,如
第九屆藍橋杯省賽JAVA語言 C組題解_題6 列印大X
JAVA語言 C組題解_題6 列印大X 題目 解題思路 題目 標題:列印大X 如下的程式目的是在控制檯列印輸出大X。 可以控制兩個引數:圖形的高度,以及筆寬。 用程式中的測試資料輸出效果: (如果顯示有問題,可以參
第九屆藍橋杯省賽JAVA語言 C組題解_題5 書號驗證
JAVA語言 C組題解_題5 書號驗證 題目 解題思路 題目 標題:書號驗證 2004年起,國際ISBN中心出版了《13位國際標準書號指南》。 原有10位書號前加978作為商品分類標識;校驗規則也改變。 校驗位的加權演
第九屆藍橋杯省賽JAVA語言 C組題解_題4 第幾個幸運數
JAVA語言 C組題解_題4 第幾個幸運數 題目 解題思路 題目 標題:第幾個幸運數 到x星球旅行的遊客都被髮給一個整數,作為遊客編號。 x星的國王有個怪癖,他只喜歡數字3,5和7。 國王規定,遊客的編號如果只含有因子
第九屆藍橋杯省賽JAVA語言 C組題解_題9 小朋友崇拜圈)
JAVA語言 C組題解_題9 小朋友崇拜圈 題目 解題思路 題目 班裡N個小朋友,每個人都有自己最崇拜的一個小朋友(也可以是自己)。 在一個遊戲中,需要小朋友坐一個圈, 每個小朋友都有自己最崇拜的小朋友在他的右手邊。 求滿
第九屆藍橋杯省賽JAVA語言 C組題解_題8 等腰三角形
JAVA語言 C組題解_題8 等腰三角形 題目 解題思路 題目 本題目要求你在控制檯輸出一個由數字組成的等腰三角形。 具體的步驟是: 先用1,2,3,…的自然數拼一個足夠長的串 用這個串填充三角形的三條邊
第九屆藍橋杯省賽JAVA語言 C組題解_題3 字母陣列
JAVA語言 C組題解_題3 字母陣列 題目 解題思路 題目 仔細尋找,會發現:在下面的8x8的方陣中,隱藏著字母序列:“LANQIAO”。 SLANQIAO ZOEXCCGB MOAYWKHI BCCIPLJQ SLAN
第九屆藍橋杯省賽JAVA語言 C組題解_題1 哪天返回
JAVA語言 C組題解_題1 哪天返回 題目 解題思路 題目 小明被不明勢力劫持。後被扔到x星站再無問津。小明得知每天都有飛船飛往地球,但需要108元的船票,而他卻身無分文。 他決定在x星戰打工。好心的老闆答應包食宿,第1
第九屆藍橋杯省賽JAVA語言 C組題解_解2 猴子數香蕉
JAVA語言 C組題解_2 猴子數香蕉 題目 解題思路 題目 5只猴子是好朋友,在海邊的椰子樹上睡著了。這期間,有商船把一大堆香蕉忘記在沙灘上離去。 第1只猴子醒來,把香蕉均分成5堆,還剩下1個,就吃掉並把自己的一份藏起來
2018第九屆藍橋杯省賽真題JAVA語言 C組真題題解答案(全)
第九屆藍橋杯省賽JAVA語言 C組題解(全) 題1 哪天返回 小明被不明勢力劫持。後被扔到x星站再無問津。小明得知每天都有飛船飛往地球,但需要108元的船票,而他卻身無分文。 他決定在x星戰打工。好心的老闆答應包食宿,第1天給他1元錢。 並
【DFS】(2018)第九屆藍橋杯省賽 C/C++ A組(第九題)
第九題 題目標題:倍數問題【題目描述】眾所周知,小蔥同學擅長計算,尤其擅長計算一個數是否是另外一個數的倍數。但小蔥只擅長兩個數的情況,當有很多個數之後就會比較苦惱。現在小蔥給了你 n 個數,希望你從這
【只含質因子的數】(2018)第九屆藍橋杯省賽 C/C++ A組(第四題)
第四題 題目標題:第幾個幸運數到x星球旅行的遊客都被髮給一個整數,作為遊客編號。x星的國王有個怪癖,他只喜歡數字3,5和7。國王規定,遊客的編號如果只含有因子:3,5,7,就可以獲得一份獎品。我們來看前
第九屆藍橋杯省賽 (7) -- 螺旋折線
標題:螺旋折線 如圖p1.png所示的螺旋折線經過平面上所有整點恰好一次。 對於整點(X, Y),我們定義它到原點的距離dis(X, Y)是從原點到(X, Y)的螺旋折線段的長度。 例如dis(0, 1)=3, dis(-2, -1)=9 給出
第九屆藍橋杯省賽(6) -- 遞增三元組
標題:遞增三元組 給定三個整數陣列 A = [A1, A2, ... AN], B = [B1, B2, ... BN], C = [C1, C2, ... CN], 請你統計有多少個三元組(i, j, k) 滿足: 1. 1 <= i, j, k <= N
第九屆藍橋杯省賽(4)-- 測試次數
4.標題:測試次數 x星球的居民脾氣不太好,但好在他們生氣的時候唯一的異常舉動是:摔手機。 各大廠商也就紛紛推出各種耐摔型手機。x星球的質監局規定了手機必須經過耐摔測試,並且評定出一個耐摔指數來,之後才允許上市流通。 x星球有很多高聳入雲的高塔,剛好可