赌神(赛码网基础算法题)

题目描述
有股神吗?有,小赛就是!经过严密的计算,小赛买了一支股票,他知道从他买股票的那天开始,股票会有以下变化:第一天不变,以后涨一天,跌一天,涨两天,跌一天,涨三天,跌一天...依此类推。为方便计算,假设每次涨和跌皆为1,股票初始单价也为1,请计算买股票的第n天每股股票值多少钱?

输入:

输入包括多组数据;

每行输入一个n,1<=n<=10^9 。

输出:

请输出他每股股票多少钱,对于每组数据,输出一行。

package com.hong.Controller;

import java.util.Scanner;

public class scanner {
    public static void main(String[] args) {
        //输入控制
        Scanner cin = new Scanner(System.in);
        int n;

        while(cin.hasNextInt()){
            n = cin.nextInt();
            int sum = 2;//计算股票值
            int day = 2;//记录天数
            int cnt = 1;
            if(n == 1){
                //前两天是固定不变的 所以直接输出
                System.out.println("1");
            }else if(n == 2){
                System.out.println("2");
            }else{
                while (day < n){
                    sum--;
                    day++;
                    if(day < n){
                        cnt++;   //控制要加的次数,每加一次就进行判断
                        for (int i = 0; i < cnt; i++){
                            sum++;
                            day++;
                            if (day == n){
                               break;
                            }
                        }
                    }
                }
                System.out.println(sum);
            }
        }
        cin.close();
    }
}

posted @ 2020-04-14 23:14  吴志鸿  阅读(213)  评论(0编辑  收藏  举报