欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

第六届蓝桥杯省赛javaB组真题及答案

发布时间:2025/3/20 编程问答 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 第六届蓝桥杯省赛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组真题及答案的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。