第八届蓝桥杯JavaB组省赛真题

这篇博客分享了第八届蓝桥杯JavaB组省赛的真题,包括一系列数学和编程题目,如购物单计算、纸牌排列、金字塔重量分配、二阶魔方状态计算、最大公共子串长度、包子铺问题和巧克力切分等,邀请读者一起挑战解题思路和代码实现。
摘要由CSDN通过智能技术生成

解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论

题目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 将**换成+,将“折”换成空格,“半折”换成0.5,然后自己在数字前加和小数点

package 算法积累;
 
public class 购物单_蓝桥杯_八 {
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		double sum =     180.90       *0.88 
				+      10.25       *0.65 
				+      56.14        *0.9 
				+     104.65        *0.9 
				+     100.30       *0.88 
				+     297.15        *0.5
				+      26.75       *0.65 
				+     130.62        *0.5
				+     240.28       *0.58 
				+     270.62        *0.8 
				+     115.87       *0.88 
				+     247.34       *0.95 
				+      73.21        *0.9 
				+     101.00        *0.5
				+      79.54        *0.5
				+     278.44        *0.7 
				+     199.26        *0.5
				+      12.97        *0.9 
				+     166.30       *0.78 
				+     125.50       *0.58 
				+      84.98        *0.9 
				+     113.35       *0.68 
				+     166.57        *0.5
				+      42.56        *0.9 
				+      81.90       *0.95 
				+     131.78        *0.8 
				+     255.89       *0.78 
				+     109.17        *0.9 
				+     146.69       *0.68 
				+     139.33       *0.65 
				+     141.16       *0.78 
				+     154.74        *0.8 
				+      59.42        *0.8 
				+      85.44       *0.68 
				+     293.70       *0.88 
				+     261.79       *0.65 
				+      11.30       *0.88 
				+     268.27       *0.58 
				+     128.29       *0.88 
				+     251.03        *0.8 
				+     208.39       *0.75 
				+     128.88       *0.75 
				+      62.06        *0.9 
				+     225.87       *0.75 
				+      12.89      *0.75 
				+      34.28       *0.75 
				+      62.16       *0.58 
				+     129.12        *0.5
				+     218.37        *0.5
				+     289.69        *0.8;
		System.out.println(sum);
	}
 
}
 
题目2、纸牌三角形

题目描述

A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算)。要求每个边的和相等。
下图就是一种排法(如有对齐问题,参看p1.png)。

   A
 9  6

4 8
3 7 5 2

这样的排法可能会有很多。

如果考虑旋转、镜像后相同的算同一种,一共有多少种不同的排法呢?

请你计算并提交该数字。

注意:需要提交的是一个整数,不要提交任何多余内容。
在这里插入图片描述

public class Main {
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int cnt=0;
		for(int a=1;a<=9;a++){
			for(int b=1;b<=9;b++){
				for(int c=1;c<=9;c++){
					for(int d=1;d<=9;d++){
						for(int e=1;e<=9;e++){
							for(int f=1;f<=9;f++){
								for(int g=1;g<=9;g++){
									for(int h=1;h<=9;h++){
										for(int i=1;i<=9;i++){
											if(a!=b && a!=c && a!=d && a!=e && a!=f && a!=g && a!&#
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值