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

在vivo产线上,每位职工随着对手机加工流程认识的熟悉和经验的增加,日产量也会不断攀升。

假设第一天量产1台,接下来2天(即第二、三天)每天量产2件,接下来3天(即第四、五、六天)每天量产3件 … …
以此类推,请编程计算出第n天总共可以量产的手机数量。

// An highlighted block
public class Solution {
    /**
     *
     * @param n int整型 第n天
     * @return int整型
     */
    public int solution (int n) {
        // write code here
        int curr=1;   //第一天的产量为1
        int increment=2;  //增量。从接下来2天开始(即第二、三天),每天量产2件。
        for(int i=2;i<=n;) //i为天数,从第二天开始
        {
            int j=0; //接下来第j天的计数器,每天产量的增量为increment
            while(j<increment&&i<=n) //i<=n确保不会超出天数
            {
                 
                    curr+=increment;
                    j++;   //计数器加1
                    i++;  //天数加1
            }
            increment++;  //增量加1 
        }
        return curr;   //返回第n天的产量
    }
}

你可能感兴趣的:(校招真题,java,编程语言,面试)