- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
loge(a) 取一个非零正实数 a。
在函数中,x = a/3。 y = x-1+a*exp(-x)。我将继续将它们彼此相减(得到绝对差值)并一直持续到差值小于 0.000001。我的 friend 告诉我我所做的是正确的,但是当我尝试 loge(2) 时,我得到了 0.678(一些东西)。任何更高的值都会导致它出现段错误。有小费吗?谢谢。
#include <iostream>
using namespace std;
long double power(long double a, long int b);
long double power(long double a, long int b)
{
if (b == 0)
{
return 1;
}
else if (b == 1)
{
return a;
}
else if (b < 0)
{
return 1.0/power(a, -b);
}
else if (b%2==0)
{
return power(a*a, b/2);
}
else if (b%2!=0)
{
return a*power(a*a, b/2);
}
}
long double exp(long double x);
long double exp(long double x)
{
if (x < 0.000001)
{
return 1+x+(power(x, 2)/2)+(power(x, 3)/6);
}
else
{
return power(exp(x/10), 10);
}
}
long double loge(long double a);
long double loge(long double a)
{
long double x, y, lim = 0.000001;
if (a == 1)
{
return 0;
}
else
{
x = a/3;
y = x-1+a*exp(-x);
while (x*lim != y*lim)
{
x = y;
y = x-1+a*exp(-x);
}
return y;
}
}
int main()
{
long double num;
cout << "Enter a number: ";
cin >> num;
cout << loge(num);
cout << "\n";
return 0;
}
最佳答案
如果你只想计算一个数的自然对数,你可以使用 std::log
.要计算任何底数的对数,您可以编写如下函数:
double log(double base, double x) {
return std::log(x)/std::log(base);
}
您需要添加代码来检查有效输入(例如,base
不能等于 1 或小于 0)。
如果你想在没有 std::log
的情况下实现自然对数,你可能想看看 std::numeric_limits
为您的差异限制而不是将其硬编码为 lim = 0.000001
。
关于c++ - 试图找到数字的 ln 或自然对数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25429373/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!