蓝桥杯结果填空题训练部分题目代码
来源:互联网 发布:单片机材料做的 编辑:程序博客网 时间:2024/06/05 03:23
1. 考察团组成
某饭店招待国外考察团。按照标准,对领导是400元/人,随团职员200元/人,对司机50元/人。
考察团共36人,招待费结算为3600元,请问领导、职员、司机各几人。
答案是三个整数,用逗号分隔。
/* * 考察团组成 */import java.util.Scanner;public class Main {public static void main(String[] args){ Scanner in=new Scanner(System.in); int i,j,k,sum,max=0,a=0,b=0;for(i=1;i<36;i++){for(j=1;j<36;j++){for(k=1;k<36;k++){if((i+j+k==36)&&(400*i+200*j+50*k==3600)){System.out.println(i+","+j+","+k);}}}}}}
答案:
3,5,28
2. 微生物增殖
假设有两种微生物 X 和 Y
X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。
一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。
现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。
如果X=10,Y=90 呢?
本题的要求就是写出这两种初始条件下,60分钟后Y的数目。
题目的结果令你震惊吗?这不是简单的数字游戏!真实的生物圈有着同样脆弱的性质!也许因为你消灭的那只 Y 就是最终导致 Y 种群灭绝的最后一根稻草!
请忍住悲伤,把答案写在“解答.txt”中,不要写在这里!
两个整数,每个1行。
/* * 微生物增值 */public class Main {public static void main(String[] args) {int new_x=1,old_x=0,y=90;for(int time=1;time<=60;time++){if(time%6==0){new_x=old_x;}else if(time%6==1){y-=new_x;y-=old_x;old_x+=new_x;new_x=0;}else if(time%6==3){y-=old_x;}else if(time%6==5){y-=old_x;}if(time%4==0){y*=2;}if(y<=0){break;}}System.out.println(y);}}
答案:
0
94371840
3. 除去次方数
自然数的平方数是:1 4 9 16 25 …
自然数的立方数是:1 8 27 64 125 …
自然数的4次方数是:1 16 81 256 …
…
这些数字都可以称为次方数。
1~10000中,去掉所有的次方数,还剩下多少个数字?
/* * 除去次方数 */import java.util.HashSet;import java.util.Set;public class Main {public static void main(String[] args) { Set<Double> sets=new HashSet<Double>(); sets.add(1.0);//添加第一个元素1 int i,j=2; for(i=2;Math.pow(i, j)<=10000;i++) { for(j=2;Math.pow(i, j)<=10000;j++) { sets.add(Math.pow(i, j)); } j=2; }System.out.println(10000-sets.size());}}
答案:
9875
4. 古堡算式
福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:
ABCDE * ? = EDCBA
他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”
华生:“我猜也是!”
于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案。
把 ABCDE 所代表的数字写出来。
答案写在“解答.txt”中,不要写在这里!
/* * 古堡算式 */public class Main {public static void main(String[] args) { int a,b,c,d,e; int a1,b1,c1,d1,e1; for(int i=1234;i<=98765;i++) { a=i/10000; b=i/1000-a*10; c=i/100-a*100-b*10; d=i/10-a*1000-b*100-c*10; e=i%10; if(a!=b&&a!=c&&a!=d&&a!=e&&b!=c&&b!=d&&b!=e&&c!=d&&c!=e&&d!=e)//符合这5个数互不相等的条件 { int t; for(int j=0;j<10;j++) { t=i*j; e1=t/10000; d1=t/1000-e*10; c1=t/100-e*100-d*10; b1=t/10-e*1000-d*100-c*10; a1=t%10; if(a==a1&&b==b1&&c==c1&&d==d1&&e==e1) { System.out.println(a+" "+b+" "+c+" "+d+" "+e); } } } } }}
答案:
21978
5. 海盗比酒量
有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。
等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝酒,喝酒别开船......”
请你根据这些信息,推断开始有多少人,每一轮喝下来还剩多少人没倒下。
如果有多个可能的答案,请列出所有答案,每个答案占一行。
格式是:人数,人数,...
例如,有一种可能是:20,5,4,2,0
多个答案排列顺序不重要。
答案写在“解答.txt”中,不要写在这里!
/* * 海盗比酒量 */public class Main {public static void main(String[] args) { int i,j,k,m; double sum; for(i=1;i<=20;i++) { for(j=1;j<=20;j++) { if(j<i) for(k=1;k<=20;k++) { if(k<j) for(m=1;m<=20;m++) { if(m<k) { sum=1.0/i+1.0/j+1.0/k+1.0/m; if(Math.abs(sum-1.0)<0.0000001) { System.out.println(i+" "+j+" "+k+" "+m); } } } } } } }}
答案:
18,9,3,2
15,10,3,2
20,5,4,2
12,6,4,2
6. 欧拉与鸡蛋
大数学家欧拉在集市上遇到了本村的两个农妇,每人跨着个空篮子。她们和欧拉打招呼说两人刚刚卖完了所有的鸡蛋。
欧拉随便问:“卖了多少鸡蛋呢?”
不料一个说:“我们两人自己卖自己的,一共卖了150个鸡蛋,虽然我们卖的鸡蛋有多有少,但刚好得了同样的钱数。你猜猜看!”
欧拉猜不出。
另一个补充道:“如果我按她那样的价格卖,可以得到32元;如果她按我的价格卖,可以得到24.5元”。
欧拉想了想,说出了正确答案。
我们不是数学家,懒得列出公式来分析。但计算机可以“暴力破解”,就是把所有可能情况都试验一遍,撞上为止!
请写出每人鸡蛋的数目(顺序不限),用逗号隔开。
答案写在“解答.txt”中,不要写在这里!
/* * 欧拉与鸡蛋 */public class Main {public static void main(String[] args) { int anum,bnum; double aprice,bprice; for(anum=1;anum<150;anum++) { bnum=150-anum; aprice=32.0/bnum; bprice=24.5/anum; if(anum*aprice==bnum*bprice) { System.out.println(anum+" "+bnum); } } }}
答案:
70,80 或 80,70
7. 黄金队列
黄金分割数0.618与美学有重要的关系。舞台上报幕员所站的位置大约就是舞台宽度的0.618处,墙上的画像一般也挂在房间高度的0.618处,甚至股票的波动据说也能找到0.618的影子....
黄金分割数是个无理数,也就是无法表示为两个整数的比值。0.618只是它的近似值,其真值可以通过对5开方减去1再除以2来获得,我们取它的一个较精确的近似值:0.618034
有趣的是,一些简单的数列中也会包含这个无理数,这很令数学家震惊!
1 3 4 7 11 18 29 47 .... 称为“鲁卡斯队列”。它后面的每一个项都是前边两项的和。
如果观察前后两项的比值,即:1/3,3/4,4/7,7/11,11/18 ... 会发现它越来越接近于黄金分割数!
你的任务就是计算出从哪一项开始,这个比值四舍五入后已经达到了与0.618034一致的精度。
请写出该比值。格式是:分子/分母。比如:29/47
答案写在“解答.txt”中,不要写在这里!
/* * 黄金队列 */import java.text.DecimalFormat;public class Main {public static void main(String[] args){ DecimalFormat df=new DecimalFormat("0.000000");int []num=new int [10000];int i=1;while(i<10000){double a=lucas(num,i);double b=lucas(num,i+1);double r=a/b;if(df.format(r).equals("0.618034"))//拿r与0.618034比较,最相似时输出{System.out.println(a+"/"+b);return ;}i++;}}public static int lucas(int []num,int n){if(n==1){return 1;}if(n==2){return 3;}if(num[n-1]>0){return num[n-1];}return (num[n-2]=lucas(num,n-1))+(num[n-3]=lucas(num,n-2));}}
答案:
1364/2207
8. 猜生日
今年的植树节(2012年3月12日),小明和他的叔叔还有小伙伴们一起去植树。休息的时候,小明的同学问他叔叔多大年纪,他叔叔说:“我说个题目,看你们谁先猜出来!”
“把我出生的年月日连起来拼成一个8位数(月、日不足两位前补0)正好可以被今天的年、月、日整除!”
他想了想,又补充到:“再给个提示,我是6月出生的。”
根据这些信息,请你帮小明算一下,他叔叔的出生年月日。
答案写在“解答.txt”中,不要写在这里!
格式是年月日连成的8位数。
例如,如果是1948年6月12日,就写:19480612
/* * 猜生日(该题的输出问题,连续输出尚未解决) */public class Main {public static void main(String[] args) { int year,day; for(int a=1;a<=2;a++) { for(int b=0;b<=9;b++) { for(int c=0;c<=9;c++) { for(int d=0;d<=9;d++) { for(int e=0;e<=9;e++) { for(int f=6;f<=6;f++) { for(int g=0;g<=9;g++) { for(int h=0;h<=9;h++) { if((e*10+f)<=12&&(g*10+h)<=31&&(a*1000+b*100+c*10+d)<2012&&(a*1000+b*100+c*10+d)>1900) { long sum; sum=a*10000000+b*1000000+c*100000+d*10000+e*1000+f*100+g*10+h; if(sum%2012==0&&sum%3==0&&sum%12==0) { System.out.print(a+" "+b+" "+c+" "+d+" "+e+" "+f+" "+g+" "+h); } } } } } } } } } }}}
答案:
19550604
9. 棋盘上的麦子
你一定听说过这个故事。国王对发明国际象棋的大臣很佩服,问他要什么报酬,大臣说:请在第1个棋盘格放1粒麦子,在第2个棋盘格放2粒麦子,在第3个棋盘格放4粒麦子,在第4个棋盘格放8粒麦子,......后一格的数字是前一格的两倍,直到放完所有棋盘格(国际象棋共有64格)。
国王以为他只是想要一袋麦子而已,哈哈大笑。
当时的条件下无法准确计算,但估算结果令人吃惊:即使全世界都铺满麦子也不够用!
请你借助计算机准确地计算,到底需要多少粒麦子。
答案写在“解答.txt”中,不要写在这里!
/* * 棋盘上的麦子(数据溢出) * 该题未解决超长整形的定义问题 */public class Main {public static void main(String[] args) { long sum=0; int i,j; for(i=0;i<64;i++) { sum+=Math.pow(2, i); } System.out.println(sum);}}
答案:
18446744073709551615
10. 国庆星期日
1949年的国庆节(10月1日)是星期六。
今年(2012)的国庆节是星期一。
那么,从建国到现在,有几次国庆节正好是星期日呢?
只要答案,不限手段!
可以用windows日历,windows计算器,Excel公式,。。。。。
当然,也可以编程!
不要求写出具体是哪些年,只要一个数目!
千万不要提交源代码!
答案不要写在这里,写在“解答.txt”中
/* * 国庆星期日 */public class Main {public static void main(String[] args) { int week=6,count=0; int run=366%7; int ping=365%7; int year; for(year=1950;year<2012;year++) { if((year%100!=0)&&(year%4==0)) { week+=run; week%=7; if(week==0) { count++; } } else { week+=ping; week%=7; if(week==0) { count++; } } } System.out.println(count);}}
答案:
9
11. 找素数
素数就是不能再进行等分的整数。比如:7,11。而9不是素数,因为它可以平分为3等份。一般认为最小的素数是2,接着是3,5,...
请问,第100002(十万零二)个素数是多少?
请注意:“2” 是第一素数,“3” 是第二个素数,依此类推。
不需要提交源代码,只要写出准确的结果即可!
答案写在:“解答.txt”中,不要写在这里。
/* * 找素数 */public class Main{public static void main(String[] args) {int n=1;int i=3;while(n<100002){if(check(i)){n++;System.out.println(n+" "+i);i++;}else{i++;}}}public static boolean check(int n){int k= (int) Math.sqrt(n);for(int i=2;i<=k;i++){if(n%i==0){return false;}}return true;}}
答案:
1299743
12. 填写算式
看这个算式:
☆☆☆ + ☆☆☆ = ☆☆☆
如果每个五角星代表 1 ~ 9 的不同的数字。
这个算式有多少种可能的正确填写方法?
173 + 286 = 459
295 + 173 = 468
173 + 295 = 468
183 + 492 = 675
以上都是正确的填写法!
注意:
111 + 222 = 333 是错误的填写法!
因为每个数字必须是不同的!
也就是说:1~9中的所有数字,每个必须出现且仅出现一次!
注意:
不包括数字“0”!
注意:
满足加法交换率的式子算两种不同的答案。
所以答案肯定是个偶数!
注意:
只要求计算不同的填法的数目
不要求列出所有填写法
更不要求填写源代码!
答案不要写在这里,请写在“解答.txt”中!
/* * 填写算式 */public class Main {public static void main(String[] args) { int a,b,c,d,e,f,g,h,j; int i; int count=0; for(a=1;a<=9;a++) { for(b=1;b<=9;b++) { for(c=1;c<=9;c++) { for(d=1;d<=9;d++) { for(e=1;e<=9;e++) { for(f=1;f<=9;f++) { for(g=1;g<=9;g++) { for(h=1;h<=9;h++) { for(i=1;i<=9;i++) { if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&a!=h&&a!=i&&b!=c&&b!=d&&b!=e&&b!=f&&b!=g&&b!=h&&b!=i&&c!=d&&c!=e&&c!=f&&c!=g&&c!=h&&c!=i&&d!=e&&d!=f&&d!=g&&d!=h&&d!=i&&e!=f&&e!=g&&e!=h&&e!=i&&f!=g&&f!=h&&f!=i&&g!=h&&g!=i&&h!=i) { if((a*100+b*10+c)+(d*100+e*10+f)==(g*100+h*10+i)) { //System.out.println(a+" "+b+" "+c+"+"+d+" "+e+" "+f+"="+g+" "+h+" "+i); count++; } } } } } } } } } } } System.out.println(count);}}
答案:
336
总结:
结果填空题都是一些简单的暴破或用计算器可以算出的小题,但有几道还是有些难度的。
- 蓝桥杯结果填空题训练部分题目代码
- 蓝桥杯-结果填空题
- 蓝桥杯 结果填空题
- 蓝桥杯 代码填空题
- 2017-4-8蓝桥杯总结(1) 结果填空部分
- linux面试题目——填空题部分(转)
- 蓝桥杯-结果填空题-原题
- 结果填空题:三羊献瑞
- 蓝桥杯代码填空题集锦
- 蓝桥杯 结果填空 微生物增殖
- 蓝桥杯 结果填空 土地测量
- 蓝桥杯 结果填空 黄金队列
- 蓝桥杯 结果填空 汉诺塔计数
- 蓝桥杯 结果填空 猜生日
- 蓝桥杯-微生物增值-结果填空
- 蓝桥杯-代码填空之一
- 蓝桥杯 代码填空 轮换
- Java中的部分填空题
- 【设计模式】——观察者模式
- 【Linux Shell脚本攻略之一】find命令:文件查找和文件列表
- mysql Blob和Text字段过程错误
- 关于Linux开源项目基础组件make编译流程
- 226. Invert Binary Tree
- 蓝桥杯结果填空题训练部分题目代码
- webservice接口
- 从零开始搭建android App 日志(1)
- notepad++安装emmet和python script的方法
- OPC与OPC UA
- 如何看当前本机的网络流量
- 基于Fragment的Android前台服务框架
- ClassyShark工具分析App的应用框架
- tomcat日志配置,log信息如何输出到同一个文件