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

📄 buzhao.cpp

📁 能求出超过20的阶乘
💻 CPP
字号:
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include<fstream.h>
void jiecheng(int a[],int m)
{
 int i=0;
 int j=0;
 int carry=0;
 int n=a[0];
 int t=n;
 int *b=(int *)malloc((n+1)*sizeof(int));
 if(b==NULL){printf("over\n");exit(0);}
 for(i=0;i<=n;i++)b[i]=a[i];
 for(j=1;j<m;j++)
 {
   for(carry=0,i=1;i<=n;i++)
	{
	   if(i<=a[0])a[i]=a[i]+b[i]+carry;
	   else a[i]=a[i]+carry;
		carry=a[i]/10;
		a[i]=a[i]%10;
	}
   if(carry)
	{
	   a[++n]=carry;
	}
 }
free(b);
a[0]=n;
}
void print_result(int a[],int m)
{
 int i;
 ofstream fp("wuzhao.txt",ios::out);
 for(i=m;i>0;i--)
 {
	printf("%d",a[i]);
	fp<<a[i];
 }
 fp.close();
}
void main()
{
  int a[200];
  int var;
  int flag=0;
  a[0]=1;
  a[1]=1;
  printf("Please input var=");
  scanf("%d",&var);
  if(var==0)
  {
	a[0]=1;
	a[1]=0;
  }
  else if(var==1)
  {
	a[0]=1;
	a[1]=1;
  }
  else
  {
	 for(flag=2;flag<=var;flag++)
	 {
		jiecheng(a,flag);
	 }
  }
  print_result(a,a[0]);
  printf("\n");
}

⌨️ 快捷键说明

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