c语言:前20项的和 (1-2-3),(4-5-6),(7-8-9), …… ,(3n+1)-(3n+2)-(3n+3), ……

来源:百度知道 编辑:UC知道 时间:2024/05/11 19:46:26
急用!

#include "stdafx.h"
#include "stdio.h"

int main(int argc, char* argv[])
{

int n,i,sum=0;
for(i=0;i<20;i++)
{
n=(3*i+1)-(3*i+2)-(3*i+3);
sum=sum+n;
}
printf("前20项的和是:%d",sum);

return 0;
}

#include <stdio.h>
void main()
{

float i,he,sum=0;
for(i=0;i<20;i++)
{
he+=(3*n+1)-(3*n+2)-(3*n+3);
sum+=he;
}
printf("通式为(3n+1)-(3n+2)-(3n+3)的前20项之和为:%.2f\n",sum);
}
我手头没有编程软件,没有调试,你自己调试下!

看了上面2个同志的程序,就是没有一个知道简化下公式的,都不要效率了?
(3n+1)-(3n+2)-(3n+3)=-3n-4 [n=0,1,....]
=-3(n-1)-4=-3n-1 [n=1,2,3,...]
sum(n)=-3n(n+1)/2-n [n=1,2,3,...]

#include <stdio.h>
void main()
{
float n=20; //是从0开始计的
float sum=-3*n*(n+1)/2-n;
printf("通式为(3n+1)-(3n+2)-(3n+3)的前20项之和为:%.2f\n"