股神

---恢复内容开始---

京东简历通过了,进去看了以下笔试的算法题的格式,发现和leetcode有点差别,需要自己写Main函数和输入。提前熟悉一下。网址是:http://www.acmcoder.com/index

题目:有股神吗?
 
 
有,小赛就是!
 
 
经过严密的计算,小赛买了一支股票,他知道从他买股票的那天开始,股票会有以下变化:第一天不变,以后涨一天,跌一天,涨两天,跌一天,涨三天,跌一天...依此类推。
 
 
为方便计算,假设每次涨和跌皆为1,股票初始单价也为1,请计算买股票的第n天每股股票值多少钱?
题目描述
 
输入
输入包括多组数据;
每行输入一个n,1<=n<=10^9 。
样例输入 1 2 3 4 5
输出
请输出他每股股票多少钱,对于每组数据,输出一行。
样例输出 1 2 1 2 3

思路:  先把这个序列补充完整。1212323453456745678.

可以观察到,每一个递增序列的数字的个数都是+1。可以把每次递增数字个数发生的变化抽象在-1的时候。同时在-1的过程中,递增的数字个数从1开始重新计数。

 

代码如下:

import java.util.*;
import java.io.*;

public class Main{
public static void main(String args[]){
  Scanner scan=new Scanner(System.in);
  int date;
  date=scan.nextInt();
  int add=0,count=2;int price=0;
  for(int i=1;i<=date;i++){
    if(count==add){
       price--;                //股票跌一天
      count++;                //这轮总共由count个数字是递增的
      add=1;                    //重新开始这一轮的计数
    }else {
      price++;
      add++;
    }
  }
  System.out.println(price);
}
  
}

 

posted @ 2018-09-06 20:03  吃土豆鸭  阅读(122)  评论(0编辑  收藏  举报