赛码1.股神Golang版

1. 问题描述

有股神吗?

有,小赛就是!

经过严密的计算,小赛买了一支股票,他知道从他买股票的那天开始,股票会有以下变化:第一天不变,以后涨一天,跌一天,涨两天,跌一天,涨三天,跌一天…依此类推。

为方便计算,假设每次涨和跌皆为1,股票初始单价也为1,请计算买股票的第n天每股股票值多少钱?

2. 思路

3. 代码

package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
)

func main() {
	sc := bufio.NewScanner(os.Stdin)
	sc.Scan()
	N, _ := strconv.Atoi(sc.Text())
	getMoney(N)

}

func getMoney(n int) {
	money := 1
	stage := 1
	times := 0
	for i := 2; i <= n; i++ {
		if times < stage {
			times++
			money++
		} else {
			money--
			stage++
			times = 0
		}
	}
	fmt.Println(money)
}