题目

在vivo产线上,每位职工随着对手机加工流程认识的熟悉和经验的增加,日产量也会不断攀升。
假设第一天量产1台,接下来2天(即第二、三天)每天量产2件,接下来3天(即第四、五、六天)每天量产3件 ... ...
以此类推,请编程计算出第n天总共可以量产的手机数量。

代码

(。・∀・)ノ゙嗨,这就是差距!!!

    public int solution (int n) {
        int production = 0;
        int curProduction = 1;
        int curTotal = 1;
        int total = 0;
        for (int i = 1; i <= n; i++) {
            if (total < curTotal) {
                total++;
            } else {
                curTotal++;
                total = 1;
                curProduction++;
            }
            production += curProduction;
        }
        return production;
    }
    public int solution(int n) {
        int ans = 0;
        for (int i = 1; n > 0; ++i) {
            ans += i * Math.min(i, n);
            n -= i;
        }
        return ans;
    }