您好,登錄后才能下訂單哦!
下面鏈接是java的實(shí)現(xiàn),思路叫清晰點(diǎn)
https://blog.51cto.com/6631065/2044441
#include <stdio.h> void Print_Factorial ( const int N ); int main() { int N; scanf("%d", &N); Print_Factorial(N); return 0; } void Print_Factorial(const int N) { #define MAX 5000 int a[MAX]= {0},tmpA[MAX]= {0},b[4]= {0}; int k,i,flag,j,temp,bit,l; int f1=0,f2=0,f3=0; /* 如果小于0大于1000直接返回輸入錯(cuò)誤*/ if(N <0 || N >1000) { printf("Invalid input\n"); return; } /*等于0輸出1*/ else if(N == 0) { printf("%d\n",1); return ; } /*大于0小于1000*/ else { /*將數(shù)組a的第一位賦值為1,其余賦值為零*/ a[0] =1; for(i=1; i<=N; i++) { b[0]=b[1]=b[2]=b[3]=0; flag =i; /*將N的各位數(shù)進(jìn)行分解,放入數(shù)組b中*/ k=0; while(flag > 0 && k<4) { b[k] = flag %10; flag = flag /10; k++; } temp =0; bit =0; for(j=0; j<4; j++) { /*使用tmpA存儲(chǔ)的數(shù)值與b數(shù)組相乘,結(jié)果存到a數(shù)組中*/ for(l=0; l<MAX; l++) { temp = a[l] *b[j]; tmpA[l+j]+= temp; } } for(k=0; k<MAX-1; k++) { if(tmpA[k]>=10) { temp = tmpA[k]; tmpA[k] = tmpA[k] %10; tmpA[k+1] = tmpA[k+1]+temp/10; } } for(k=0; k<MAX; k++) { a[k] = tmpA[k]; tmpA[k] =0; } } } printf("\n"); f3=0; for(k=MAX-1; k>=0; k--) { if(a[k] >0) f3=1; if(f3>0)printf("%d",a[k]); } }
下面鏈接是java的實(shí)現(xiàn),思路叫清晰點(diǎn)
https://blog.51cto.com/6631065/2044441
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。