maincpp.cpp

来自「用于计算大型数据阶乘(比如100!)的程序」· C++ 代码 · 共 62 行

CPP
62
字号
#include <string.h>
#include <iostream.h>
//using namespace std;

//用于存储大型数据 Base=小数部分 Exp=指数部分,采用科学计数法。
typedef struct
{
	double Base;
	long   Exp;
}LargeData,*pLargeData;

void MulLargeData(LargeData &ll,const LargeData &rr)
{
	ll.Exp+=rr.Exp;
	ll.Base *= rr.Base;
	while(ll.Base >=10.0 )
	{
		ll.Base /=10.0;
		ll.Exp+=1;
	};

};

void MulLargeData(LargeData &ll,const long &rr)
{
	ll.Base *= rr;
	while(ll.Base >=10.0 )
	{
		ll.Base /=10.0;
		ll.Exp+=1;
	};
};

LargeData NNFun(long nn)
{
	LargeData temp;
    if(nn <=1)
	{
		temp.Base=1;
		temp.Exp=0;
	}
	else
	{   
		temp=NNFun(nn-1);
		MulLargeData(temp,nn);
	};



Over:
	return temp;
};

void main()
{
	long nn=100;
	LargeData result;
    nn=3;
	result=NNFun(nn);
	nn=1000;
	result=NNFun(nn);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?