来源:牛客网vivo2020届春季校园招聘在线编程考试
https://www.nowcoder.com/question/next?pid=22390442&qid=925105&tid=34637022
[编程题]vivo智能手机产能
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 256M,其他语言512M
在vivo产线上,每位职工随着对手机加工流程认识的熟悉和经验的增加,日产量也会不断攀升。
假设第一天量产1台,接下来2天(即第二、三天)每天量产2件,接下来3天(即第四、五、六天)每天量产3件 … …
以此类推,请编程计算出第n天总共可以量产的手机数量。
应用到一个数学知识:等差数列求和
n天可以看成:1+2+3+…+k+r,r表示余项
产出的手机量为:
emmm…但是没用这个做出来。以后想出来了再补。
我的解法:
import java.util.*;
public class Solution {
/*
* @param n int整型 第n天
* @return int整型
*/
public int solution (int n) {
int day = 1;//天数
int count = 0;//生产数
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i && day <= n; j++) {
day++;
count += i;
}
}
return count;
}
}
牛客网提交结果: