| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2571 人关注过本帖
标题:e的x次方 点击点击,快点哟!
只看楼主 加入收藏
跳跳鱼
Rank: 2
等 级:论坛游民
帖 子:74
专家分:60
注 册:2011-5-4
结帖率:93.75%
收藏
已结贴  问题点数:20 回复次数:8 
e的x次方 点击点击,快点哟!
用c++编写一个函数,求e的x次方( ⊙o⊙ )?大侠们看看?
搜索更多相关主题的帖子: 函数 
2011-09-11 15:59
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
#defile E 2.71828

double Get(int x)
{
    double dbResult = 0;
    if (x == 0) {
        return 1;
    }

    for (int i = 0; i < x; i++) {
        dbResult *= E;
    }
    return dbResult;
}

 还没有对参数是负数进行处理。

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2011-09-11 22:00
ucyan
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:61
专家分:198
注 册:2011-4-12
收藏
得分:0 
用for循环就行啦~
2011-09-11 23:42
袁德凯
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2011-4-8
收藏
得分:0 
#include <math.h>
#include <iostream>
using namespace std;

double hs(int);
int main()
{
  int x;
cin>>x;
cout<<hs(x)<<endl;
}
double hs(int)
{
   return pow(2.71828,x);
}
2011-09-12 18:20
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:20 
2 楼的程序不能解决 x 不是整数的情况。4楼的程度则容易使人追问为什么不用 exp(x)?(或者 pow 是怎么实现的?)

3楼的可以认为是一个比较朦胧的说法,这个当然得用循环算。
对于这个问题的计算,利用 e^x 的泰勒展式就可以计算,泰勒展式是指下述公式:
e^x = 1 + x + x^2/2! + x^3/3! + ... + x^n/n! + ...
它是一个无穷级数,截断至第 n 项,产生的误差(记前 n 项部的分和为 Sn)
ε = | e^x - Sn | <= | x^n/n! | <= |x|^n/n!

由误差估计式中可以看出,在 n 固定的情况下,由于 n 的阶乘是个常数。所以要想循环的次数尽量少,方法是想办法减小 x 的绝对值。
关于约化 |x| 的有一些相关的方法。我就不提了。即使不约化,直接循环算,时间上一般也还可以接受。

另外一个小知识是:求任意底的幂或对数,往往要间接用到自然对数底的幂或对数。由以下恒等式即得:
log_a(b) = ln(b) / ln(a)
x^y = e^( yln(x) )


[ 本帖最后由 pangding 于 2011-9-12 21:58 编辑 ]
2011-09-12 21:56
xg5699
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:140
专家分:522
注 册:2011-7-27
收藏
得分:0 
回复 5楼 pangding
我草牛B啊,如果有人能这样看自己写的程序并指出不足那真是拾到宝了!

都不结贴我郁闷那!
2011-09-12 22:12
DestinyOooO
Rank: 2
等 级:论坛游民
帖 子:16
专家分:17
注 册:2011-9-15
收藏
得分:0 
《数值分析》
2011-09-15 19:45
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
嗯。看来 7楼 也比较专业~~
2011-09-15 22:26
guilin0822
Rank: 2
来 自:中国
等 级:论坛游民
帖 子:21
专家分:20
注 册:2011-7-28
收藏
得分:0 
5楼的,专业。用的是微积分。
2011-10-01 22:26
快速回复:e的x次方 点击点击,快点哟!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017779 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved