求交错序列前N项和(C语言)

 

习题2-4 求交错序列前N项和 (15 分)
 

本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。

输入格式:

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

输出格式:

在一行中输出部分和的值,结果保留三位小数。

输入样例:

5

输出样例:

0.917

分析:

  交错序列 1-2/3+3/5-4/7+5/9-6/11+... 中:分子都是n本身,分母是2n-1;由此只需区分交错的正负数,而所用公式完全相同,所以可按n的奇偶性区分正负号。

C语言代码如下:

 1 #include <stdio.h>
 2 int main(){
 3   int n;
 4   scanf("%d", &n);
 5   float sum = 0;
 6   for(int i = 1; i <= n; i++){
 7     if(i % 2 != 0){
 8       sum += i / (2 * i - 1.0);
 9     }
10     else{
11       sum -= i / (2 * i - 1.0);
12     }
13   }
14   printf("%.3f", sum);
15   return 0;
16 }

 

 
posted @ 2022-03-10 09:47  撰四记  阅读(2186)  评论(0编辑  收藏  举报