java编程题目已知:第1天可得1元,其后2天每天可得2元,其后3天每天可得3元,依次类推。。。求解:算第n天获得的总钱数。举例如下 /* 1 2 2 3 3 3 4 4 4 4 * 1 2 3 4 5 6 7 8 9 10 */
时间: 2024-09-29 08:03:23 浏览: 27
人教版初中七年级数学上册第三章《一元一次方程》模拟测试卷(有答案解析)(32).pdf
这个Java编程题目的要求是一个动态规划的问题,可以使用滑动窗口的思想来解决。首先定义一个数组或者列表来存储每一天可以获得的钱数,然后通过循环迭代到第n天,计算每一天累积的金额。
以下是可能的一个解决方案:
```java
public class Main {
public static void main(String[] args) {
int n = 10; // 设定需要查询的天数
int[] dailyRewards = new int[n + 1]; // 储存每天奖励
// 初始化数组,前i天的奖励等于i*(i+1)/2
for (int i = 1; i <= n; i++) {
dailyRewards[i] = i * (i + 1) / 2;
}
// 滑动窗口从1开始到n,每天新增的收入为当前天数
int totalMoney = dailyRewards[1];
for (int i = 2; i <= n; i++) {
totalMoney += i;
}
System.out.println("第" + n + "天获得的总钱数是:" + totalMoney);
}
}
```
在这个程序里,我们首先计算出前n天按照规则应该得到的奖励,然后再加上剩余的天数(从第二天到第n天),因为后续每天都直接增加当天的数字。
阅读全文