Java基础写法 国王分金币 【题目描述】 国王将金币作为工资,发放给忠诚的骑士。第1天,骑士收到一枚金币; 之后两天(第2天和第3天)里,每天收到两枚金币;之后三天(第4、5、6天)里, 每天收到三枚金币;之后四天(第7、8、9、10天)里, 每天收到四枚金币……这种工资发放模式会一直这样延续下去: 当连续n天每天收到n枚金币后,骑士会在之后的连续n+1天里,每天收到n+1枚金币(n为任意正整数)。 你需要编写一个程序,确定从第一天开始的给定天数内,骑士一共获得了多少金币。 【输入】 一个整数,表示天数。 【输出】 骑士获得的金币数。 【输入样例】 6 【输出样例】 14
时间: 2024-04-03 18:35:08 浏览: 76
国王将金币作为工资,发放给忠诚的骑士。第1天,骑士收到一枚金币;之后两天(第2天和第3天)里,每天收到两枚金
好的,这是一个Java基础写法的国王分金币题目。下面是Java代码的实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int days = scanner.nextInt();
int coins = 0;
int n = 1;
for (int i = 1; i <= days; i++) {
coins += n;
if (i == n * (n + 1) / 2) {
n++;
}
}
System.out.println(coins);
}
}
```
输入一个整数days,表示天数。从第一天开始,每天的金币数按照题目给出的规律递增。用一个变量n来记录当前连续n天每天收到n枚金币,当第i天是n*(n+1)/2时,说明从第i-n天开始连续n天收到n枚金币,此后的n+1天每天收到n+1枚金币。在循环中,累加每天的金币数,最后输出总金币数即可。
阅读全文