在达到无穷大之前确定最大值

例如

我有一个非常简单的函数来检查(N ^ N-1)^(N-2)的值:

int main() {

 // Declare Variables
 double n;
 double answer;

 // Function
 cout << "Please enter a double number >= 3: ";
 cin >> n;

 answer = pow(n,(n-1)*(n-2));
 cout << "n to the n-1) to the n-2 for doubles is " << answer << endl;
}

根据这个公式,很明显它将达到无穷大,但是我很好奇直到n的多少个数值/值会达到无穷大?使用循环似乎效率极低,但这就是我能想到的。基本上,创建一个循环,让n为1-100之间的数字,迭代直到n == inf

有没有更有效的方法来解决这个问题?

斯瓦洛岑

有两件事:第一是(N ^(N-1))^(N-2))可以写成N ^((N-1)*(N-2))。因此,这将消除一次pow调用,从而使您的代码更快。

pow(n, (n-1)*(n-2));

第二个是要知道您遇到了什么实际的限制,测试所有N会花费一秒钟的时间,因此实际上没有理由找到另一种实际的方法。

您可以手动了解变量大小限制以及所有限制,但是绝对可以更快地进行测试。代码示例(C ++ 11,因为我使用std::isinf):

#include <iostream>
#include <cmath>
#include <iomanip>

int main() {
    double N = 1.0, diff = 10.0;
    const unsigned digits = 10;

    unsigned counter = digits;
    while ( true ) {
        double X = std::pow( N, (N-1.0) * (N-2.0) );
        if ( std::isinf(X) ) {
            --counter;
            if ( !counter ) {
                std::cout << std::setprecision(digits) << N << "\n";
                break;
            }
            N -= diff;
            diff /= 10;
        }
        N += diff;
    }
    return 0;
}

此示例在我的计算机上花费不到一毫秒的时间,并且可以打印 17.28894235

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将-infinty值和无穷大值替换为数据帧的最大值和最小值

来自分类Dev

在pandas转换lambda函数中,如果最大是无穷大,则使用else来获得第二个最大值

来自分类Dev

OutOfMemoryError达到堆空间的最大值之前?

来自分类Dev

负无穷大

来自分类Dev

在R中的值替换期间区分无穷大和负无穷大

来自分类Dev

将Null值替换为无穷大

来自分类Dev

数据帧中的无穷大值spark / scala

来自分类Dev

在R中的特定事件之前确定最大值

来自分类Dev

FFTW根本不会返回无穷大,接近零或负无穷大的其他值

来自分类Dev

Django达到序列的最大值

来自分类Dev

数值编程语言是否区分“最大有限数”和“无穷大”?

来自分类Dev

将cos(x)/ sqrt(x)积分在0到无穷大之间,以达到用户定义的精度

来自分类Dev

Android-乘以从SQLite数据库获取的值时,值结果为“无穷大”

来自分类Dev

有日期时间±无穷大吗?

来自分类Dev

TextBlock中的无穷大符号

来自分类Dev

区分opencl中的正负无穷大

来自分类Dev

榆木中的无穷大符号

来自分类Dev

选择数字等于无穷大的地方

来自分类Dev

javascript中的数字是无穷大?

来自分类Dev

如何表示整数无穷大?

来自分类Dev

错误:“无穷大”未命名类型

来自分类Dev

在物理计算中表示无穷大

来自分类Dev

速度突然从零跳到无穷大

来自分类Dev

为什么输出变成无穷大

来自分类Dev

超出范围整数:无穷大

来自分类Dev

是无穷大是Java中的NaN?

来自分类Dev

如何表示整数无穷大?

来自分类Dev

列表理解与无穷大列表

来自分类Dev

在物理计算中表示无穷大