c++ - 在 C++ 中声明一个大整数

标签 c++ factorial

我正在尝试在 C++ 中运行这个算法以获得一个大数字

#include<iostream>

using namespace std;
int main()
{
    int num,factorial=1;
    cout<<" Enter Number To Find Its Factorial:  ";

    cin>>num;

    for(int a=1;a<=num;a++)
    {
       factorial=factorial*a;
    }

    cout<<"Factorial of Given Number is ="<<factorial<<endl;
    return 0;
}

如何像 Java 中那样声明一个大整数而不是 int?

最佳答案

C++ 标准库中不支持大整数。大数算术的常见选择是 GMP 。下载并安装该库后,在您的代码中您将 #include <gmpxx.h>并声明mpz_class factorial而不是int factorial ,然后链接到 GMP。

通过在编辑器的编译设置中添加 GMP,可以在 IDE 中完成与 GMP 的链接;或添加-lgmp到您的编译命令(例如 g++clang++ )。

关于c++ - 在 C++ 中声明一个大整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31868024/

相关文章:

我可以在c语言中使用long double来计算整数吗

python - 如何使用 for 循环计算阶乘并打印计算结果?

c++ - 如何使用 x11 中的 xft 字体在窗口中心对齐文本

c++ - 类型 `*` 对 __vfptr 意味着什么?

c++ - 删除 vector 容器的最后一个元素

java - Java 递归前缀解析器阶乘

factorial - 有没有一种快速的方法来查找是否(n-1)!可被n整除吗?

javascript - 阶乘递归调用中的逻辑

c++ - 如何在 linux 中读取低级鼠标点击位置。

c++ - OpenCV 上 SIFT 描述符的正确输出类型是什么?