加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

求1000!(通过数组模拟大数)

发布时间:2020-12-14 04:13:26 所属栏目:大数据 来源:网络整理
导读:#includeiostream#includectimeusing namespace std;void main(){int Data[6000]; //存储6000位数的整数数组int Digit; //数据位数for(int i = 1;i 6000;i++) //数组初始化Data[i] = 0;Data[0] = 1;Data[1] = 1;Digit = 1;cout"输入你想要计算的整数:";int N
#include<iostream>
#include<ctime>
using namespace std;
void main()
{
	int Data[6000];               //存储6000位数的整数数组
	int Digit;                    //数据位数
	for(int i = 1;i < 6000;i++)   //数组初始化
		Data[i] = 0;
	Data[0] = 1;
	Data[1] = 1;
	Digit = 1;
	cout<<"输入你想要计算的整数:";
	int N;
	cin>>N;

	double start = clock();
	int index2 = 0;   //统计2的数目
	for(i = 1;i < N + 1;i++)
	{
		for(int j = 1;j < Digit + 1;j++)                  //数组中元素的运算
			Data[j] *= i;
		for(j = 1;j < Digit + 1;j++)
		{
			if(Data[j] >= 10)                             //进位处理
			{
				for(int r = 1;r < Digit + 1;r++)
				{
					if(Data[Digit] >= 10)
						Digit++;
					Data[r+1] += Data[r]/10;
					Data[r] %= 10;
				}
			}
		}
		if(i == N)         //求出N的阶乘
		{
			cout<<i<<"! =";
			for(int k = Digit;k > 0;k--)
			{
				cout<<Data[k];
				if(Data[k] == 2)
					index2++;
			}
			cout<<endl;
		}
	}
	
	cout<<endl<<N<<"!中2的数目共有"<<index2<<"个"<<endl;
	long end = clock();
	cout<<endl<<"运行时间:"<<(end-start)/1000<<"s"<<endl;
}

/*
输入你想要计算的整数:1000
1000! =4023872600770937735437024339230039857193748642107146325437999104299385123
98629020592044208486969404800479988610197196058631666872994808558901323829669944
59099742450408707375991882362772718873251977950595099527612087497546249704360141
82780946464962910563938874378864873371191810458257836478499770124766328898359557
35432513185323958463075557409114262417474349347553428646576611667797396668820291
20737914385371958824980812686783837455973174613608537953452422158659320192809087
82973084313928444032812315586110369768013573042161687476096758713483120254785893
20767169132448426236131412508780208000261683151027341827977704784635868170164365
02415369139828126481021309276124489635992870511496497541990934222156683257208082
13331861168115536158365469840467089756029009505376164758477284218896796462449451
60765353408198901385442487984959953319101723355556602139450399736280750137837615
30712776192684903435262520001588853514733161170210396817592151090778801939317811
41945452572238655414610628921879602238389714760885062768629671466746975629112340
82439208160153780889893964518263243671616762179168909779911903754031274622289988
00519544441428201218736174599264295658174662830295557029902432415318161721046583
20367869061172601587835207515162842255402651704833042261439742869330616908979684
82590125458327168226458066526769958652682272807075781391858178889652208164348344
82599326604336766017699961283186078838615027946595513115655203609398818061213855
86003014356945272242063446317974605946825731037900840244324384656572450144028218
85252470935190620929023136493273497565513958720559654228749774011413346962715422
84586237738753823048386568897646192738381490014076731044664025989949022222176590
43399018860185665264850617997023561938970178600408118897299183110211712298459016
41921068884387121855646124960798722908519296819372388642614839657382291123125024
18664935314397013742853192664987533721894069428143411852015801412334482801505139
96942901534830776445690990731524332782882698646027898643211390835062170950025973
89863554277196742822248757586765752344220207573630569498825087968928162753848863
39690995982628095612145099487170124451646126037902930912088908694202851064018215
43994571568059418727489980942547421735824010636774045957417851608292301353580818
40096996372524230560855903700624271243416909004153690105933983835777939410970027
75347200000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000

1000!中2的数目共有248个

运行时间:0.329s
*/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读