0
点赞
收藏
分享

微信扫一扫

2022-3-27 一周总结

IT程序员 2022-03-27 阅读 76

学习

国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币…;这种工资发放模式会一直这样延续下去:当连续 N 天每天收到 N枚金币后,骑士会在之后的连续 N+1 天里,每天收到 N+1 枚金币。(蓝桥云课)
请计算在前 K 天里,骑士一共获得了多少金币。

输入描述
输入只有 1 行,包含一个正整数 K(1≤K≤10),表示发放金币的天数。

输出描述
输出只有 1 行,包含一个正整数,即骑士收到的金币数。

这个题不用想的过于复杂,直接单刀直入,计算每一个时间段金币数,不断地改变时间段,找到对应的时间,计算直到当前的金币数

以下为代码

import java.util.Scanner;
public class Main {
 public static void main(String[] args) {
     Scanner scan = new Scanner(System.in);
     int k=scan.nextInt();
     int count =0,day=1;
     while(k>0){        
       if(k>=day){
         count=count+day*day;
         k=k-day;
       }else{
         count=count+k*day;
         k=0;
       }
      day++;
     }
     System.out.println(count);
 }
}
举报

相关推荐

0 条评论