届蓝桥杯省赛考题.docx
《届蓝桥杯省赛考题.docx》由会员分享,可在线阅读,更多相关《届蓝桥杯省赛考题.docx(23页珍藏版)》请在冰豆网上搜索。
![届蓝桥杯省赛考题.docx](https://file1.bdocx.com/fileroot1/2022-10/8/43fa518d-2969-4a6d-9122-3aabac7dc9aa/43fa518d-2969-4a6d-9122-3aabac7dc9aa1.gif)
届蓝桥杯省赛考题
2017第八届蓝桥杯Java省赛
1,标题:
购物单
小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。
老板忙的时候经常让小明帮忙到商场代为购物。
小明很厌烦,但又不好推辞。
这不,XX大促销又来了!
老板夫人开出了长长的购物单,都是有打折优惠的。
小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。
现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。
取款机只能提供100元面额的纸币。
小明想尽可能少取些现金,够用就行了。
你的任务是计算出,小明最少需要取多少现金。
以下是让人头疼的购物单,为了保护隐私,物品名称被隐藏了。
-----------------
**** 180.90 88折
**** 10.25 65折
**** 56.14 9折
**** 104.65 9折
**** 100.30 88折
**** 297.15 半价
**** 26.75 65折
**** 130.62 半价
**** 240.28 58折
**** 270.62 8折
**** 115.87 88折
**** 247.34 95折
**** 73.21 9折
**** 101.00 半价
**** 79.54 半价
**** 278.44 7折
**** 199.26 半价
**** 12.97 9折
**** 166.30 78折
**** 125.50 58折
**** 84.98 9折
**** 113.35 68折
**** 166.57 半价
**** 42.56 9折
**** 81.90 95折
**** 131.78 8折
**** 255.89 78折
**** 109.17 9折
**** 146.69 68折
**** 139.33 65折
**** 141.16 78折
**** 154.74 8折
**** 59.42 8折
**** 85.44 68折
**** 293.70 88折
**** 261.79 65折
**** 11.30 88折
**** 268.27 58折
**** 128.29 88折
**** 251.03 8折
**** 208.39 75折
**** 128.88 75折
**** 62.06 9折
**** 225.87 75折
**** 12.89 75折
**** 34.28 75折
**** 62.16 58折
**** 129.12 半价
**** 218.37 半价
**** 289.69 8折
--------------------
需要说明的是,88折指的是按标价的88%计算,而8折是按80%计算,余者类推。
特别地,半价是按50%计算。
请提交小明要从取款机上提取的金额,单位是元。
答案是一个整数,类似4300的样子,结尾必然是00,不要填写任何多余的内容。
特别提醒:
不许携带计算器入场,也不能打开手机。
分析,如果用计算器,保准得半小时。
。
。
手打输入也是麻烦。
。
。
可以把数据复制进eclipse,然后ctrl+f替换所有****,所有折字,再把半折替换成50,再把一位数的折数补0,,多少个数据就看行数。
ok。
其实可以直接读取文档数据来做,自己这方面不熟,2333
[java] viewplain copy
1.import java.util.Scanner;
2.
3.public class test1 {
4.
5. public static void main(String[] args) {
6. Scanner sc = new Scanner(System.in);
7. float[][] nums = new float[100][2];
8. float sum=0;
9. for(int i=0;i<50;i++){
10. nums[i][0]=sc.nextFloat();
11. nums[i][1]=sc.nextFloat();
12. }
13.
14. for(int i=0;i<50;i++){
15. sum+=(nums[i][0]*nums[i][1]/100);
16.
17. }
18. System.out.println(sum);
19. }
20.
21.}
22.
23./*180.90 88
24.10.25 65
25.56.14 90
26.104.65 90
27.100.30 88
28.297.15 50
29.26.75 65
30.130.62 50
31.240.28 58
32.270.62 80
33.115.87 88
34.247.34 95
35.73.21 90
36.101.00 50
37.79.54 50
38.278.44 70
39.199.26 50
40.12.97 90
41.166.30 78
42.125.50 58
43.84.98 90
44.113.35 68
45.166.57 50
46.42.56 90
47.81.90 95
48.131.78 80
49.255.89 78
50.109.17 90
51.146.69 68
52.139.33 65
53.141.16 78
54.154.74 80
55.59.42 80
56.85.44 68
57.293.70 88
58.261.79 65
59.11.30 88
60.268.27 58
61.128.29 88
62.251.03 80
63.208.39 75
64.128.88 75
65.62.06 90
66.225.87 75
67.12.89 75
68.34.28 75
69.62.16 58
70.129.12 50
71.218.37 50
72.289.69 80*/
运行结果:
5136.8594
答案:
5200
2,标题:
纸牌三角形
A,2,3,4,5,6,7,8,9共9张纸牌排成一个正三角形(A按1计算)。
要求每个边的和相等。
下图就是一种排法(如有对齐问题,参看p1.png)。
A
96
4 8
3752
这样的排法可能会有很多。
如果考虑旋转、镜像后相同的算同一种,一共有多少种不同的排法呢?
请你计算并提交该数字。
注意:
需要提交的是一个整数,不要提交任何多余内容。
这题没什么好说的,考前写好了暴力枚举模板,直接套
答案:
144
[java] viewplain copy
1.public class test2 {
2.
3. public static void main(String[] args) {
4. int sum = 0;
5. for (int a = 1; a <= 9; a++)
6. for (int b = 1; b <= 9; b++)
7. for (int c = 1; c <= 9; c++)
8. for (int d = 1; d <= 9; d++)
9. for (int e = 1; e <= 9; e++)
10. for (int f = 1; f <= 9; f++)
11. for (int g = 1; g <= 9; g++)
12. for (int h = 1; h <= 9; h++)
13. for (int i = 1; i <= 9; i++)
14. if (a + b + c + d == a + e + f + g && a + b + c + d == d + h + i + g) {
15. if (a !
= b && a !
= c &&