java算法题——无情的XY

题目以及要求:

题目描述
XY考试前一天还没开始复习,TL问他怎么还不开始复习?
XY说我越到后面越猛!
这是为什么呢?原来XY从第一天开始复习1页复习1天后,第2天开始复习2页但是持续复习2天,复习2天后又持续复习3天每天天复习4页,复习3天后又持续复习4天每天复习7页…
太猛了,但是XY不知道自己最后一天到底能一共复习多少页,帅帅的你帮帮他呗?
输入格式
一个正整数,表示考试的前天。
输出格式
输出考试最后一天一共能复习多少页。

样例:

在这里插入图片描述

代码:

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class 无情的XY {
	public static void main(String[] args) {
		Scanner sc =new Scanner(System.in);
		List<Integer> list = new ArrayList<Integer>();
		int day=sc.nextInt();
		int i=1;
		list.add(1);
		int sumday=1;
		long sumfile=1;//int可能越界
		while (true) {
		//总的天数大于输入的天数
			if(sumday>=day){
			//减去多算的天数
				sumfile-=(sumday-day)*list.get(i-1);
				break;
			}else
			//根据关系存储数据
			list.add((i+list.get(i-1)));
			i++;
			sumfile+=(i*list.get(i-1));
			sumday+=i;
		}
		System.out.println(sumfile);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值