當前位置:編程學習大全網 - 源碼下載 - 求C語言大數階乘程序源代碼。

求C語言大數階乘程序源代碼。

我希望這對妳有幫助-

//#include "stdafx.h"//VC++6.0需要這行。

#包含“stdio.h”

#包含“math.h”

#包含" stdlib.h "

char *FactorialLN(int n){

int i,j,k,tmp,len

char *pa,*pb,*px,s[11]= " ",* ps9 = s+9;

double dec = 0;

對於(n++,I = 2;我& ltn;dec+= log 10(i++));

len =(int)dec+2;

如果(!(pa=(char *)malloc(len)) ||!(pb=(char *)malloc(len))){

printf("應用程序內存故障...");

退出(0);

}

for(I = 0;我& ltlen*(pa+I)= *(p b+ i++)= 0);

for(i-=2,j =-n;j;*(pb+i - )=j%10,j/= 10);

len-;

i++;

while((k= - n)>1){

for(px = ps9;k;*px - =k%10,k/= 10);

for(k=0,tmp = ps9-px;k & lttmpk++){

for(px=ps9,j = len-1;j & gt= I;*(pa+j-k)+= *(p b+ j-)* *(px-k));

for(px=pa-k,j = len-1-k;j & gt= I-k;j - ){

if(*(px+j)& gt;9){

*(px+j-1)+= *(px+j)/10;

*(px+j)% = 10;

}

}

if(I)I-;

}

px = pa

pa = pb

pb = px

for(k = 0;k & ltlen*(pa+k++)= 0);

}

免費(pa);

for(I = 0;我& ltlen*(p b+ i++)+= ' 0 ');

返回Pb;

}

無效主(無效){

int n;

char * p;

printf("請輸入壹個整數。\ nn = ");

scanf("%d ",& ampn);

printf("\n%d!= %s ",n,p = factorial ln(n));

免費(p);

printf(" \ n ");

}

  • 上一篇:仙劍奇俠傳3秘籍
  • 下一篇:國產樹莓派源代碼
  • copyright 2024編程學習大全網