Java蓝桥杯01——第一题集锦:堆煤球、购物单、哪天返回、第几天、分数

堆煤球(2016JavaB)

有一堆煤球,堆成三角棱锥形。具体:

第一层放1个,

第二层3个(排列成三角形),

第三层6个(排列成三角形),

第四层10个(排列成三角形),

....

如果一共有100层,共有多少个煤球?

请填表示煤球总数目的数字。

注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

package bb;
public class 堆煤球 {
	private static int _求第n层(int n) {
		int sum = 0;
		for (int i = 1; i <= n; i++) {
			sum += i;
		}
		return sum;
	}
	private static int _求第n层By递归(int n) {
		if (n == 1) {
			return 1;
		}
		return _求第n层By递归(n - 1) + n;
	}
	public static void main(String[] args) {
		int sumAll = 0;
		for (int j = 1; j <= 100; j++) {
			sumAll += _求第n层(j);
		}
		System.out.println(sumAll);
		sumAll = 0;
		for (int j = 1; j <= 100; j++) {
			sumAll += _求第n层By递归(j);
		}
		System.out.println(sumAll);
	}
}

购物单(2017JavaB)

小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。

这不,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,不要填写任何多余的内容。

(不许携带计算器入场,也不能打开手机)

参考答案:5200

哪天返回(2018JavaC)

标题:哪天返回
小明被不明势力劫持。后被扔到x星站再无问津。小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文。
他决定在x星战打工。好心的老板答应包食宿,第1天给他1元钱。
并且,以后的每一天都比前一天多2元钱,直到他有足够的钱买票。
请计算一下,小明在第几天就能凑够108元,返回地球。

要求提交的是一个整数,表示第几天。请不要提交任何多余的内容。

package bb;
public class 哪天返回 {
   public static void main(String[] args) {
   	int count = 0;
   	int i = 0;
   	for (int salary = 1; salary < 108; salary = salary + 2) {
   		i++;
   		count = count + salary;
   		System.out.println("salary = " + salary + ", count=" + count);
   		if (count >= 108) {
   			System.out.println("第" + i + "天");
   			break;
   		}
   	}
   }
}

第几天( 2018JavaB)

标题:第几天
2000年的1月1日,是那一年的第1天。
那么,2000年的5月4日,是那一年的第几天?
注意:需要提交的是一个整数,不要填写任何多余内容。

参考答案:125

分数(2018JavaA)

标题:分数

1/1 + 1/2 + 1/4 + 1/8 + 1/16 + ....

每项是前一项的一半,如果一共有20项,

求这个和是多少,结果用分数表示出来。

类似:

3/2

当然,这只是加了前2项而已。分子分母要求互质。

注意:

需要提交的是已经约分过的分数,中间任何位置不能含有空格。

请不要填写任何多余的文字或符号。

package bb;
public class 分数 {
	public static void main(String[] args) {
		int 分子 = 0;
		for (int i = 0; i <= 19; i++) {
			double pow = Math.pow(2, i);
			分子 += pow;
		}
		System.out.println("分子= " + 分子);
		System.out.println("分母= " + Math.pow(2, 19));
	}
}
// 参考答案:
// 1048575/524288
posted @ 2019-07-14 01:05  虎老狮  阅读(387)  评论(0编辑  收藏  举报