黑马程序员技术交流社区
标题:
存钱问题
[打印本页]
作者:
Gyx
时间:
2014-12-20 20:29
标题:
存钱问题
小明的妈妈每天会给他20元零花钱。平日里,小明先花掉一半,再把一半存起来。每到周日,小明拿到钱后会把所有零花钱花掉一半。请编程计算,从周一开始,小明需要多少天才能存够100元?
作者:
后悔药
时间:
2014-12-20 20:54
这是我当时提交的答案,给你参考一下
public class Test10 {
/**
* 第10题:小明的妈妈每天会给他20元零花钱。平日里,小明先花掉一半,再把一半存起来。每到周日,小明拿到钱后会把所有零花钱花掉一半。请编程计算,
* 从周一开始,小明需要多少天才能存够100元?
*
* @param args
*/
public static void main(String[] args) {
/**
* 假设小明要存Y元,需要X天
* 1.小明获得的总零花钱 :20*X;
* 2.小明一个星期攒的零花钱 :(10*6+20) / 2 = 40
* 3.小明要存Y元需要 Y / 40 个星期
* 4.不算星期天小明每天攒 10块
* */
Scanner in = new Scanner(System.in);
System.out.println("请输入小明要存多少钱:");
int a = in.nextInt();
int test = test(a);
System.out.println("小明要存" + test + "天才能存够" + a + "元");
}
/**
* @param Y 小明要存多少钱
* @return 需要的天数
*/
public static int test(int Y) {
//需要的天数
int days = 0;
//只有需要几个星期
int num = Y / 40;
//如果少于一个星期则按天算
if (num < 1) {
days = Y / 10;
//零头凑不够就再加一天
if(days * 10 < Y){
days++;
}
}else{
int temp = Y % 40;
//还需要多少天
int remain = temp / 10;
//零头凑不够就再加一天
if((num*40+remain*10) < Y){
remain++;
}
days = remain + num * 7;
}
return days;
}
}
复制代码
作者:
Gyx
时间:
2014-12-22 19:22
谢谢!我会继续努力
作者:
LOVE你的ME
时间:
2014-12-22 21:29
我猛的一看以为是个脑经急转弯
作者:
牧歌
时间:
2014-12-22 21:34
脑子真是不够用。。拙计啊。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2