用c语言计算1/1-1/2+1/3-1/4+1/5-...+1/99-1/100

计算1/1-1/2+1/3-1/4+1/5-...+1/99-1/100。

方法一:计算1/1-1/2+1/3-1/4+1/5-...+1/99-1/100

#include <stdio.h>
#include <math.h>
main()
{
    float sum=0.0;
     float n=0;
     float a=0.0;
     for (n=1;n<101;n++)
     {
          a=pow(-1,n+1);
         sum=a/n+sum;
     }
     printf ("%f",sum);
    return 0;

}

方法二:(优化)

#include <stdio.h>
int main ()
{
     int n;
     double sum=0.0;
     int flag=1;
    for (n=1;n<101;n++)
     {
         sum+=flag*(1.0/n);
          flag=flag*(-1);
     }
     printf ("%lf\n",sum);
     return 0;

}

时间: 2024-08-27 18:39:35

用c语言计算1/1-1/2+1/3-1/4+1/5-...+1/99-1/100的相关文章

C语言计算圆周率PI的代码

下面的内容段是关于C语言计算圆周率PI的内容. #include "stdio.h" #include "stdlib.h" #define SCALE 10000 #define ARRINIT 2000 void pi_digits(int digits) { int carry = 0; int arr[digits + 1]; for (int i = 0; i <= digits; ++i) arr[i] = ARRINIT; for (int i

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值

★计算1/1-1/2+1/3-1/4+1/5 -- + 1/99 - 1/100的值 #include <stdio.h> int main() { int i; double x = 1; double sum = 0; for (i = 1; i<101; i++) { sum = sum + x / i; x = x*(-1); } printf("1-1/2+1/3-1/4....-1/100=%f\n", sum); return 0; }

使用R语言计算均值,方差等

R语言对于数值计算很方便,最近用到了计算方差,标准差的功能,特记录. 数据准备 height <- c(6.00, 5.92, 5.58, 5.92) 1 计算均值 mean(height) [1] 5.855 2 计算中位数 median(height) [1] 5.92 3 计算标准差 sd(height) [1] 0.1871719 4 计算方差 var(height) [1] 0.03503333 5 计算两个变量之间的相关系数 cor(height,log(height)) [1] 0

[R语言]R语言计算unix timestamp的坑

R+mongo的组合真是各种坑等着踩 由于mongo中的时间戳普遍使用的是unix timestamp的格式,因此需要对每天的数据进行计算的时候,很容易就想到对timestamp + gap对方式来实现每天的时间范围. 但这时候就埋下了一个坑,这个坑就是计算精度的问题. ms级的时间戳长度是12位,R中会识别成1.421112+e12的格式.gap的则是 1000 * 60 * 60 *24 * i,数量级是10^8.两者相加,在取某个i的时候,会出现加出来的数据与下一天的timestamp对不

R语言计算移动平均的方法

移动平均可以使时间序列变平滑,是典型的有序计算问题,其基本算法是:将N个连续的时间序列成员作为一个集合,计算该集合的平均值,并逐项推移该集合.下面用一个例子来说明R计算移动平均的方法. 案例描述: 数据框sales有两个字段:日期和当日销售额,需要计算三日移动平均值.具体算法是:求出前一日.当日.后一日的销售额平均值,并逐日推移.部分源数据如下:     代码: filter(sales$Amount/3, rep(1, 3))     计算结果: 代码解读: R语言可以用函数filter计算移

[C语言]计算圆周率(Pi-X)

Code: 1 #include <stdio.h> 2 int main(){ 3 const ARRSIZE=1010, DISPCNT=1000; //定义数组大小,显示位数 4 //const ARRSIZE=10100, DISPCNT=10000; 5 char x[ARRSIZE], z[ARRSIZE]; //x[0] x[1] . x[2] x[3] x[4] .... x[ARRSIZE-1] 6 int a=1, b=3, c, d, Run=1, Cnt=0,i; 7

Windows中使用OpenBLAS加速R语言计算速度

在使用R的时候会发现R对CPU的利用率并不是很高,反正当我在使用R的时候,无论R做何种运算R的CPU利用率都只有百分子几,这就导致一旦计算量大的时候计算时间非常长,会给人一种错觉(R真的在计算吗?会不会我的程序死掉了?).今天,我看到了一篇博客介绍的方法,迫不及待的尝试了一下,只能说:太牛逼了!下面是我的测试截图: 前: 后: 可以看到,计算时间从247.97s(也就是4.14min)降到了11.22s,CPU利用率在R计算的时候飙到了100%. 实现上面的性能需要安装OpenBLAS,BLAS

利用c语言计算n的阶乘及其求和(多种方法)

计算某一个数的阶乘: #include <stdio.h> int main() { int n,i; scanf("%d",&n); for(i=n-1;i>0;i--) { n=n*i; } printf("%d",n); return 0; } 计算1!+2!+3!+...+10! #include <stdio.h> int  main() { int a,b,c; int sum=0; for(a=1;a<=10

【c语言】 &nbsp; 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。

 注意:计算时1要用double类型即1.0. 奇数偶数分开计算,再合并. #include<stdio.h> int main() { int i; double sum=0,sum1=0,sum2=0; for(i = 1;i <= 99;i+=2) { sum1=sum1+1.0/i;     } for(i = 2;i <= 100;i+=2)  {       sum2=sum2-1.0/i;  } sum=sum1+sum2; printf("%lf"