第六届蓝桥杯省赛javaB组真题及答案
生活随笔
收集整理的這篇文章主要介紹了
第六届蓝桥杯省赛javaB组真题及答案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一題:三角形面積如圖1所示。圖中的所有小方格面積都是1。那么,圖中的三角形面積應該是多少呢?
答案:88-84/2-64/2-82/2=28;
第二題:立方變自身觀察下面的現象,某個數字的立方,按位累加仍然等于自身。1^3 = 1 8^3 = 512 5+1+2=817^3 = 4913 4+9+1+3=17...請你計算包括1,8,17在內,符合這個性質的正整數一共有多少個? package com.sihai.liujie;public class _02 {public static void main(String[] args) {long count = 0;for(long i = 1; i < 10000; i++){long res = 0;long temp = i*i*i;long t = temp;while(t != 0){res += t%10;t /= 10;}if(res == i){count ++;System.out.println(i);}}System.out.println(count);} } 第三題:三羊獻瑞觀察下面的加法算式:祥 瑞 生 輝+ 三 羊 獻 瑞-------------------三 羊 生 瑞 氣(如果有對齊問題,可以參看【圖1.jpg】)其中,相同的漢字代表相同的數字,不同的漢字代表不同的數字。請你填寫“三羊獻瑞”所代表的4位數字(答案唯一),不要填寫任何多余內容。這個題目要是不行就暴力破解吧。。。
第四題:循環節長度兩個整數做除法,有時會產生循環小數,其循環部分稱為:循環節。比如,11/13=6=>0.846153846153..... 其循環節為[846153] 共有6位。下面的方法,可以求出循環節的長度。請仔細閱讀代碼,并填寫劃線部分缺少的代碼。 public static int f(int n, int m) { n = n % m; Vector v = new Vector();for(;;) { v.add(n); n *= 10; n = n % m; if(n==0) return 0; if(v.indexOf(n)>=0) return v.size()-v.indexOf(n); //填空 } } 九數組分數1,2,3...9 這九個數字組成一個分數,其值恰好為1/3,如何組法?下面的程序實現了該功能,請填寫劃線部分缺失的代碼。public class A{public static void test(int[] x){int a = x[0]*1000 + x[1]*100 + x[2]*10 + x[3];int b = x[4]*10000 + x[5]*1000 + x[6]*100 + x[7]*10 + x[8];if(a*3==b) System.out.println(a + " " + b);}public static void f(int[] x, int k){if(k>=x.length){test(x);return;}for(int i=k; i<x.length; i++){{int t=x[k]; x[k]=x[i]; x[i]=t;}f(x,k+1);_______________________________________ // 填空}}public static void main(String[] args){int[] x = {1,2,3,4,5,6,7,8,9};f(x,0);}}注意,只能填寫缺少的部分,不要重復抄寫已有代碼。不要填寫任何多余的文字。答案:{int t=x[k]; x[k]=x[i]; x[i]=t;}
第六題:加法變乘法我們都知道:1+2+3+ ... + 49 = 1225現在要求你把其中兩個不相鄰的加號變成乘號,使得結果為2015比如:1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015就是符合要求的答案。請你尋找另外一個可能的答案,并把位置靠前的那個乘號左邊的數字提交(對于示例,就是提交10)。注意:需要你提交的是一個整數,不要填寫任何多余的內容。 package com.sihai.liujie;public class _06 {public static void main(String[] args) {int pre = 1225;for(int p = 1;p<47;p++){for(int pp = p+2;pp<49;pp++){int now = pre ;now -= p+p+1;now -= pp+pp+1;now += p*(p+1);now += pp*(pp+1);if(now==2015)System.out.println(p+" "+ pp);}}} } 第七題牌型種數小明被劫持到X賭城,被迫與其他3人玩牌。一副撲克牌(去掉大小王牌,共52張),均勻發給4個人,每個人13張。這時,小明腦子里突然冒出一個問題:如果不考慮花色,只考慮點數,也不考慮自己得到的牌的先后順序,自己手里能拿到的初始牌型組合一共有多少種呢?請填寫該整數,不要填寫任何多余的內容或說明文字。這里只需要每個數目遞歸一下,最后看看能不能籌夠13張
解法一:
public class sihai{ private static int num=0; public static void main(String[] args) { // TODO Auto-generated method stub think(1,0); System.out.println(num); } private static void think(int i, int j) { // TODO Auto-generated method stub int x; if(i==13) { if(13-j<5)num++; return; } else { for(x=0;x<5;x++)if(x+j<=13)think(i+1,x+j); } } }解法二:
int find(int n, int sum) {int i, j;if (sum >= 13) {if (sum == 13) m++;return;}if (n >= 13){return;}for (i = 0; i <= 4; i++)//對每個數字進行判斷 {find(n + 1, sum + i);} }解法三:
int m = 0; int judge(int num[]) {int i;int sum = 0;for (i = 0; i < 13; i++){sum += num[i];} return sum;//判斷并返回 }int find(int num[], int n) {int i, j;if (n >= 13){if (judge(num) == 13){m++;}return;}for (i = 0; i <= 4; i++)//對每個數字進行判斷 {num[n] = i;find(num, n + 1);} }運行結果:
3598180
第八題:飲料換購樂羊羊飲料廠正在舉辦一次促銷優惠活動。樂羊羊C型飲料,憑3個瓶蓋可以再換一瓶C型飲料,并且可以一直循環下去,但不允許賒賬。請你計算一下,如果小明不浪費瓶蓋,盡量地參加活動,那么,對于他初始買入的n瓶飲料,最后他一共能得到多少瓶飲料。輸入:一個整數n,表示開始購買的飲料數量(0<n<10000)輸出:一個整數,表示實際得到的飲料數例如:用戶輸入:100程序應該輸出:149用戶輸入:101程序應該輸出:151資源約定:峰值內存消耗(含虛擬機) < 256MCPU消耗 < 1000ms請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.7及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。 import java.util.Scanner; public class sihai{ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); int n,res,y; n=sc.nextInt(); res=n; while(true) { y=n%3; n=n/3; res+=n; n+=y; if(n<3)break; } System.out.println(res); } }總結
以上是生活随笔為你收集整理的第六届蓝桥杯省赛javaB组真题及答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蓝桥杯-队列操作(java)
- 下一篇: 第五届蓝桥杯省赛javaB组试题解析