股神

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

京东简历通过了,进去看了以下笔试的算法题的格式,发现和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);
}
  
}

 

转载于:https://www.cnblogs.com/patatoforsyj/p/9600598.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值