11个回答
展开全部
#include<stdio.h>
#include<math.h>
int main(){
int n,t,i;
scanf("%d",&t);
for(i=0;i<t;i++){
scanf("%d",&n);
printf("%d\n",n*(n+1)*(n+2)/6);
}
}
S=1+(1+2)+(1+2+3)+......+(1+2+3+......+n)
=1*(1+1)/2+2*(1+2)/2+3*(1+3)/2+......+n*(1+n)/2
=1/2*{(1平方+2平方+3平方+...+n平方)+(1+2+3+...+n)}
这里用到等差数列前n项和公式n(n+1)/2,还用前n项平方和公式1平方+2平方+3平方+...+n平方=n(n+1)(2n+1)/6
所以 1/2*{(1平方+2平方+3平方+...+n平方)+(1+2+3+...+n)}可以化简为 1/2*{n(n+1)(2n+1)/6+n(n+1)/2}
提取公因式并通分之后可得最简式 n*(n+1)*(n+2)/6。
#include<math.h>
int main(){
int n,t,i;
scanf("%d",&t);
for(i=0;i<t;i++){
scanf("%d",&n);
printf("%d\n",n*(n+1)*(n+2)/6);
}
}
S=1+(1+2)+(1+2+3)+......+(1+2+3+......+n)
=1*(1+1)/2+2*(1+2)/2+3*(1+3)/2+......+n*(1+n)/2
=1/2*{(1平方+2平方+3平方+...+n平方)+(1+2+3+...+n)}
这里用到等差数列前n项和公式n(n+1)/2,还用前n项平方和公式1平方+2平方+3平方+...+n平方=n(n+1)(2n+1)/6
所以 1/2*{(1平方+2平方+3平方+...+n平方)+(1+2+3+...+n)}可以化简为 1/2*{n(n+1)(2n+1)/6+n(n+1)/2}
提取公因式并通分之后可得最简式 n*(n+1)*(n+2)/6。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询