我试图在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?
答案 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: