等差數列求和c語言
發布時間: 2025-02-13 16:10:05
Ⅰ C語言運用等差數列求和公式n*(n+1)/2
你寫的這個公式只能求首項為1,公差為1的等差數列的前n項和。對於一般等差數列,這個公式是求不了的。
代碼如下:
123456789#include <stdio.h> void main(){int n;printf("請輸入等差數列的項數n: ");scanf("%d",&n);printf("%d",n*(n+1)/2);}
Ⅱ 求C語言編寫等差數列求和的代碼
等差數列求和求和有兩種方法,第一種是數值循環相加,第二種是利用公式:
Sn=n*a+n*(n-1)*d/2,其中a為數列首項
代碼如下:
#include <stdio.h>
int main(void)
{
int a,m,d,sum;
int s=0,n=1;
do {
printf("清輸入等差數列首項值a,項數m,數列差值d
");
scanf("%d,%d,%d",&a,&m,&d);
}while(a<1||m<1||d<1);
while(n<=m)
{
s+=a+(n-1)*d;
n++;
}
sum=m*a+d*(m*(m-1))/2; //sum為通過公式,求等差數列的和
printf("s=%d
sum=%d
",s,sum); //s為通過數據循環相加得到的等差數列的和
return 0;
}
上圖是首項值為1,數列差值為分別1和2的情況下的求和結果,可以看出兩種不同求和方式得到結果一致。
熱點內容