首页 > 解决方案 > 为什么在我输入 8 和 66176 后它会给出 nan

问题描述

我得到了输出 nan 而其他几个较小的测试用例给出了正确的输出但不是这个

#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;

int main(){
    //m => no of faces n => no of time it is rolled
    int m = 8;
    int n = 66716;
    long double summed;
    int i = 1;
    while (i <= m){
        summed += ((pow(i,n)-pow(i-1,n))/pow(m,n))*i;
        i += 1;
    }
    cout << fixed << setprecision(6) << summed;
    return 0;
}

预期产量 8.00000

但输出是nan

标签: c++doublenan

解决方案


推荐阅读