[NOIP2015 普及组] 金币 - 洛谷https://www.luogu.com.cn/problem/P2669
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int k = scanner.nextInt();
int day = 1;
int coins = 0;
for (int i = 1; i <= k; i++) {
coins += day; // 当前第i天的金币数
if (i == day * (day + 1) / 2) {
day++; // 进入下一个周期
}
}
System.out.println(coins);
scanner.close();
}
}
这段代码首先读取输入的整数k,然后使用循环来模拟发放金币的过程。在循环中,每天骑士收到的金币数为当前周期的天数,即day。如果当前天数i是周期结束的一天(即第day*(day+1)/2天),则进入下一个周期,即将day加1。最后输出累计的金币数。