[编程题]vivo智能手机产能 只需两行 数学解法

[编程题]vivo智能手机产能
数学解法,只需两行。
n天可以拆分为1+2+3+…+k+r,r表示余项
产出的手机量为12+22+32+…+k2+(k+1)r。
我也写了第二题的答案,[编程题]数位之积 vivo2020。

class Solution {
public:
    int solution(int n) {
        // write code here
        int res = 0, i = 1;
        while (!(((i * i + i) / 2 < n) && ((i * i + 3 * i + 2) / 2 >= n))) i++;
        return i*(i+1)*(2*i+1)/6 + (i+1) * (n - (i * i + i) / 2);
    }
};

你可能感兴趣的:(算法)