【蓝桥杯2018Java】哪天返回、猴子分香蕉

哪天返回

小明被不明*劫持。后被扔到x星站再无问津。小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文。他决定在x星战打工。好心的老板答应包食宿,第1天给他1元钱。
并且,以后的每一天都比前一天多2元钱,直到他有足够的钱买票。请计算一下,小明在第几天就能凑够108元,返回地球。
答案提交
要求提交的是一个整数,表示第几天。请不要提交任何多余的内容。

public class Main{
	public static void main(String[] args) {
		int sum=0,day=1;
		for(int money=1;sum<108;day++,money+=2) {
			sum+=money;
			System.out.printf("第%d天,共%d钱\n",day,sum);
		}
	}
}

答案11


猴子分香蕉

5只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。
第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉。
第2只猴子醒来,重新把香蕉均分成5堆,还剩下2个,就吃掉并把自己的一份藏起来继续睡觉。
第3只猴子醒来,重新把香蕉均分成5堆,还剩下3个,就吃掉并把自己的一份藏起来继续睡觉。
第4只猴子醒来,重新把香蕉均分成5堆,还剩下4个,就吃掉并把自己的一份藏起来继续睡觉。
第5只猴子醒来,重新把香蕉均分成5堆,哈哈,正好不剩!
请计算一开始最少有多少个香蕉。
答案提交
需要提交的是一个整数,不要填写任何多余的内容。

凡死了,当时看错题目意思了。题目中说就吃掉并把自己的一份藏起来继续睡觉。就吃掉,也就是说把剩下的那个吃掉!如果仔细看题目没理解错意思的话,还是很好写的。

public class Main{
	static int bananas=5;
	public static void main(String[] args) {
		for(;;bananas++) {
			int counts=bananas;
			if(counts%5!=1)continue;//第一只猴子
			counts=(counts-1)/5*4;
			if(counts%5!=2)continue;//第二只猴子
			counts=(counts-2)/5*4;
			if(counts%5!=3)continue;//第三只猴子
			counts=(counts-3)/5*4;
			if(counts%5!=4)continue;//第四只猴子
			counts=(counts-4)/5*4;
			if(counts%5==0&&counts>0) {//第五只猴子
				System.out.println(bananas);
				return;
			}
		}
	}
}

答案3141

上一篇:Python格式化输出


下一篇:numpy存取数据(tofile/fromfile)