求简单交错序列前N项和

本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。

输入格式:

输入在一行中给出一个正整数N。

输出格式:

在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。

输入样例:

10

输出样例:

sum = 0.819

Code

方法一:

#include 
#include 
#include 

int main() {
	int N, flag = 1, k = 1;
	double i = 1;
	double sum = 0;
	scanf("%d", &N);
	while(k <= N) {
		sum += (1.0/i) * pow(-1, (k-1));
		i += 3;
		++k;
	}
	printf("sum = %0.3lf", sum);
}

 方法二

#include
#include 

int main() {
	int N, flag = 1, k = 1;
	double i = 1;
	double sum = 0;
	scanf("%d", &N);
	while(k <= N) {
		if(flag == 1) {
			flag = 0;
			sum += 1.0/i;
			i += 3;
		} else {
			flag = 1;
			sum -= 1.0/i;
			i += 3;
		}
		++k;
	}
	printf("sum = %0.3lf", sum);
}

你可能感兴趣的:(#,PTA,算法,C)