⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 阶乘.cpp

📁 实现 任意数的阶乘 利用数组扩展位数 底层算法
💻 CPP
字号:
#include<iostream>
#include<vector>
using namespace std;
int main()
{ 
	int u,s=1,jin=0;
	vector<int> a;
	cout<<"请输入阶乘数 :";
	while(cin>>u&&u)
	{cout<<endl;
	a.clear();
	//int a[10000];
	a.push_back(1);

	for(int i=2;i<=u;++i)
	{ jin=0;
		for(int j=0;j<s;++j)
	  { 
		  a[j]=a[j]*i;
		  a[j]=a[j]+jin;
		  jin=a[j]/10;
		  a[j]=a[j]%10;
          
       }
	 while(jin>0)
	 {  
		/* if(jinn=jin/10)
	     { 
			 s=s+2;
		   a[s-1]=jinn;
		   jin=jin-jinn*10;
		   jinn=0;
		   a[s-2]=jin;
		   jin=0;
		   
		 } 
		else {
		a[++s-1]=jin; jin=0;}
	 */
 //s++;               //新加一位 
//  a[s-1]=jin%10;  
	// jin=jin/10;  
	   s++; a.push_back(jin%10);
       jin=jin/10;

	 } 
	
	}
	for(int i=s-1;i>=0;--i)
	cout<<a[i];
if(s>6)
	{	cout<<endl<<a[s-1]<<".";
	 for(int i=s-2;i>=s-6;--i)
       cout<<a[i];
	cout<<" E+"<<s-1<<endl;}

   s=1;cout<<endl<<"请输入阶乘数 :";
	}   
	
	return 0;
}

⌨️ 快捷键说明

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