在vivo产线上,每位职工随着对手机加工流程认识的熟悉和经验的增加,日产量也会不断攀升。
假设第一天量产1台,接下来2天(即第二、三天)每天量产2件,接下来3天(即第四、五、六天)每天量产3件 ... ...
以此类推,请编程计算出第n天总共可以量产的手机数量。
11
35
第11天工人总共可以量产的手机数量
输入:n,代表第n天输出:总的量产手机数量
n = int(input()) ans = 0 i = 1 while n>0: ans += i * min(i,n) n = n-i i = i+1 print(ans)
class Solution: def solution(self, n): # 第一步 x = math.ceil(math.sqrt(2 * n - 0.25) - 0.5) # 第二步 res = 0 for i in range(1, x): res += i * i # 第三步: tmp = n - ((1 + x - 1) * (x - 1) / 2) res += x * tmp return int(res)
class Solution: def solution(self , n ): ans = 0 i = 1 while n - i > 0: ans += (i * i) n -= i i += 1 ans += (i * n) return ans