注意:計算時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",sum); return 0; }
用flag做標籤控制+1,-1。
#include<stdio.h> int main() { int i; double sum = 0; int flag = -1; for(i = 1;i <= 100;i++) { flag*=-1; sum+=flag*(1.0/i); } printf("%lf",sum); return 0; }
用函數pow pow(-1,i+1)相當於(-1)^(i+1)
#include<stdio.h> #include<math.h> int main() { int i; double sum = 0; for(i = 1;i <= 100;i++) { sum+=pow(-1,i+1)*(1.0/i); } //pow(-1,i+1)相當於(-1)^(i+1) printf("%lf",sum); return 0; }