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

时间:2015-08-07 00:50:59

标签: 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中声明Big Integer而不是int?

4 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

c ++标准库中没有任意精度算术。您需要使用整数数组自己实现它,或者使用现有的非标准库。

答案 2 :(得分:0)

为方便起见,请尝试 unsigned long long int

我只是想把它作为评论留下来,但我对评论的评价很低..

答案 3 :(得分:0)

There is no standard support for arbitrary-precision integers. However, a few libraries are available for handling big integers: