黑马程序员技术交流社区
标题:
问一个编程题?
[打印本页]
作者:
↙五线谱╲
时间:
2013-10-31 09:22
标题:
问一个编程题?
小明的妈妈每天会给他20元零花钱。
平日里,小明先花掉一半,再把一半存起来。
每到周日,小明拿到钱后会把所有零花钱花掉一半。
请编程计算,从周一开始,小明需要多少天才能存够100元?
作者:
李文帅
时间:
2013-10-31 10:10
楼主,这个问题论坛上已经被提问了好多次了,不知道你看过没有,下面是我对这道题目的理解
1、周一到周六:每天有20元,但每天会用掉一半,也就是说每天能存20/2 = 10元
2、周末:因为小明每天都有20元,所以这天小明一共有以前存的钱加上今天的20元,所以今天能存 (以前存的钱数 + 20)/2元
代码如下:
public class Asd {
public static void main(String[] args){
double sum = 0; //定义变量总钱数
int n = 1; //定义变量天数
while(sum<120){
if(n%7!=0){
sum = sum + 20/2; //周一到周六,每天能存10元
}else{
sum = (sum+20)/2; //周日,能存本周所攒钱的一半
}
n++;
}
System.out.println((n-1)+"\n"+sum);
}
}
复制代码
作者:
ixiangfeng
时间:
2013-10-31 10:14
public class Test
{
public static void main(String [] args)
{
int count = 0;//存的零花钱
int i = 0;//用多少天
while (count < 100)
{
i++;
if (i%7 !=0)
{
count +=10;
}
else
{
count = (count +20)/2;
}
}
System.out.println("小明在" + i + "天存够100块");
}
}
复制代码
直接在主函数中写了 楼主自己看一下
作者:
落木萧萧
时间:
2013-10-31 10:39
为什么这种基础测试的题拿到论坛里来发?
作者:
The_Wizard
时间:
2013-11-1 11:44
public class Test10 {
public static void main(String[] args) {
int day = method(1, 100);
System.out.println(day);
}
/**
* 参数:week表示星期几,total表示需要存入的钱
*
* @return 返回第一次存够total时的天数
*/
public static int method(int week, int total){
//day表示天数
int day = 0;
//sum表示小明手里的钱
int sum = 0;
//只要小明没有存够他需要存的钱total,就一直存下去
while(true){
//小明在周一至周六的存入和开销
while(week < 7){
day++;
sum += 20;
if(total > sum){
sum -= 10;
week++;
} else
return day;
}
//小明在周日的存入和开销
day++;
sum += 20;
if(sum < total){
sum = sum / 2;
week = 1;
} else
return day;
}
}
}
作者:
编程学徙
时间:
2014-5-1 05:24
class Ling
{
public static void main(String[] args)
{
int i;
double l=0.0;
for(i=1;i<100000;i++)
{
if(i%7!=0)
{
l=l+10;
}
else
{
l=(l+20)/2;
}
if(l>=100)
break;
}
System.out.println("需要"+i+"天才能存够100");
}
}
复制代码
我的结果是13不知道对不对……
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2