DHU OJ | 基本练习-84 求级数的和

27 篇文章 1 订阅

84 求级数的和

作者: Turbo时间限制: 1S章节: 循环

问题描述 :

计算以下级数的和:

image.png

直到最后一项的绝对值小于10-6(该项不包括在结果中)。

输入说明 :

输入一个实数,代表x。

输出说明 :

输出结果,保留六位小数。整个输出无多余空格。

输入范例 :

2.5

输出范例 :

1.917914

笔记

若要使若干数相乘的结果为实属,且保证精度尽可能不错,应将所有参与的乘数变量定义为实属。

代码

#include<stdio.h> 
#include<math.h>

const double eps = 1e-8;
#define MoreEqu(a,b) ((a)-(b)>(-eps))

double fac[101];

void init_fac(){
	fac[0] = 0;
	fac[1] = 1;
	
	int i;
	for(i=2;i<101;i++)
		fac[i] = fac[i-1] * i;
}

int main(){
	double x;
	scanf("%lf",&x);
	
	init_fac();
	
	int n = 1;
	double sig = 1;
	double sum = 1;
	double xx = x;

	while(MoreEqu(xx/fac[n],1e-6)){
		sum += sig * xx/ fac[n];
		xx *= x;
		n++;
		sig *= -1;
		
	}
	
	printf("%f\n",sum);
	
	return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值