在vivo产线上,每位职工随着对手机加工流程认识的熟悉和经验的增加,日产量也会不断攀升。
假设第一天量产1台,接下来2天(即第二、三天)每天量产2件,接下来3天(即第四、五、六天)每天量产3件 ... ...
以此类推,请编程计算出第n天总共可以量产的手机数量。
11
35
第11天工人总共可以量产的手机数量
输入:n,代表第n天输出:总的量产手机数量
class Solution { public int produce(int n){ int ans =0; int produce =0; int day =0; while(day<n){ int temp = Math.min(produce, n-day); ans += produce*temp; day+=temp; produce++; } return ans; } }
public static int solution (int n) { int x = (int)Math.ceil((-1 + Math.sqrt(1 + 8 * n)) / 2); // System.out.println(x); int sum = 0; for (int i = 1; i < x; i++) { sum += i * i; } int day = (1 + x - 1) * (x - 1) / 2 + 1; // System.out.println(day); sum += x * (n - day + 1); return sum; }