题目描述
在vivo产线上,每位职工随着对手机加工流程认识的熟悉和经验的增加,日产量也会不断攀升。
假设第一天量产1台,接下来2天(即第二、三天)每天量产2件,接下来3天(即第四、五、六天)每天量产3件 … …
以此类推,请编程计算出第n天总共可以量产的手机数量。
输入
11
输出
35
#include<stdio.h>
int main(){
int i,j,c,n,total,t;
total=0;
scanf("%d",&n);
for(i=1;i<=100000;i++){
t=i*(i+1)/2;
if(t<n)
continue;
else
break;
}
c=t-n;
for(j=1;j<=i;j++)
{
total+=j*j;
}
total=total-c*i;
printf("%d\n",total);
return 0;
}
因为提交界面有要求,所以进行了变形:
/*
@param input: 输入字符串序列
@return int: 返回正确的结果
*/
#include<stdio.h>
#include<stdlib.h>
int main(){
char n[10];
scanf("%s",n);
int a=func(n);
printf("%d\n",a);
}
int func(char* input) {
int n=atoi(input);//把字符串转化为整型数字
int i,j,t,total,c;
for(i=1;i<=100000;i++){
t=i*(i+1)/2;
if(t<n)
continue;
else
break;
}
c=t-n;
total=0;
for(j=1;j<=i;j++)
{
total+=j*j;
}
total=total-c*i;
return total;
}