此数不能算太大,我的方法是这样,将分母都做成一样,分子加减一次,最后算一次除法。
#include
//1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6
main() {
int o , n, l, t;
scanf("%d", &l);
t=1;
for(n=1;n<=l;n++){
t*=n;//我以各项分母相乘的结果来做公分母。
}
o=t;//fenzi
printf("1",n);
for(n=2;n<=l;n++){
if(n%2 ==1){
o+= t/n;printf("+1/%d",n);
}else{
o-= t/n;printf("-1/%d",n);
}
}
printf(" == %d/%d == %f",o,t,( double)o/t);
}
t=-t;
修改为
t=-1*t;
看看如何?