第一天得到1块钱,从第二天开始,得到的钱是前一天的一倍。问第30天,一共能得到多少钱。用循环解决此问题。JavaScript求解

sad123147 2019-03-24 02:43:50
大一JavaScript
...全文
4152 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_39936465 2019-03-27
  • 打赏
  • 举报
回复
第一天得1块钱 本金变1块钱 3^0

第二天得2块钱+本金1块钱 本金变3块钱 3^1

第三天得前一天本金的2倍 6块钱 本金3块钱 共计本金 共计9块钱 3^2

第四天得9块的2倍 +9块 本金27 3^3

..........

第n天 本金 3^(n-1)


也就是说每天本金变为前一天的3倍。

要先搞清算法,然后才是编程。
叁金Coder 2019-03-27
  • 打赏
  • 举报
回复
引用 5 楼 早起晚睡 的回复:
public static void main(String[] args) {
		// TODO Auto-generated method stub
		long money = 0;
		for(int i=0;i<30;i++)
		{
			money=money+calculate(i);
		}
		System.out.println(money);
		

	}
	private static long calculate(int n) {
        if (n == 0)
            return 1;
        return 2 * calculate(n - 1);
    }
js
abckingaa 2019-03-25
  • 打赏
  • 举报
回复
<script>
//1, 2, 4
var day = 30;
//var day = 3; //用简单的测下是否对了
var money = 1;
for (var i = 2; i <= day; i++) {
// money += money * 1; //也可以
money = money+money; //前一天的加上今天的,又放加money变量
}
alert(money);
</script>
wspjl 2019-03-25
  • 打赏
  • 举报
回复
给你份java代码,
int day = 30;
int money = 1;
for (int i = 1; i < day; i++) {
money += money * 2;
}
System.out.println(money);
小小菜鸟肥 2019-03-25
  • 打赏
  • 举报
回复
上课好好学习,对本专业没兴趣就赶紧转
早起晚睡 2019-03-25
  • 打赏
  • 举报
回复
public static void main(String[] args) {
		// TODO Auto-generated method stub
		long money = 0;
		for(int i=0;i<30;i++)
		{
			money=money+calculate(i);
		}
		System.out.println(money);
		

	}
	private static long calculate(int n) {
        if (n == 0)
            return 1;
        return 2 * calculate(n - 1);
    }

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧