【编程题】股票涨价的问题

    xiaoxiao2025-05-03  11

    问题:股票变化的规律为第一天不变,然后涨一天,跌一天,涨两天,跌一天,涨三天,跌一天…,第一天股票价格为1,每次变化均为1,问第n天时,股票价格为多少

    思路:通过天数来判断,第n天时经过了完整的涨跌周期(一段连续的涨和一次跌,被化为一个涨跌周期)

    步骤:设置变量k和变量j

               k : 经历了多少次完整的涨跌周期,初始化为0

               j:  除了第k + 1次涨跌周期的第几天 , 初始化为0   //例如第三天时,k = 1,j = 0,第四天时,k = 1,j = 1

              sum :经过k次完整涨跌周期时的天数,初始化为1

              res : 经过k次完整涨跌周期时的价格,初始化为1

    方法:根据sum与n的比对,求出k,过程中res也在变化,最后用j = n - sum,res += j

    代码:

    int compute(int n) { int j = 0; int sum = 1, k, res = 1; for(k = 1; sum + k + 1 <= n; ++k) { sum += (k + 1); res += (k - 1); } j = n - sum; return res + j; }

    转载请注明原文地址: https://ju.6miu.com/read-1298701.html
    最新回复(0)