91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • 編程語言 > 
  • 求較大整數n的階乘,因為n較大時,n的階乘超出了正常類型的表示范圍,可以采用數組進行操作(c實現)

求較大整數n的階乘,因為n較大時,n的階乘超出了正常類型的表示范圍,可以采用數組進行操作(c實現)

發布時間:2020-07-06 00:28:23 來源:網絡 閱讀:980 作者:yikusitianyk 欄目:編程語言

下面鏈接是java的實現,思路叫清晰點

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直接返回輸入錯誤*/
	if(N <0 || N >1000) {
		printf("Invalid input\n");
		return;
	}
	/*等于0輸出1*/
	else if(N == 0) {
		printf("%d\n",1);
		return ;
	}
	/*大于0小于1000*/
	else {


		/*將數組a的第一位賦值為1,其余賦值為零*/
		a[0] =1;




	
		for(i=1; i<=N; i++) {

			b[0]=b[1]=b[2]=b[3]=0;

			flag =i;
			/*將N的各位數進行分解,放入數組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存儲的數值與b數組相乘,結果存到a數組中*/
				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的實現,思路叫清晰點

https://blog.51cto.com/6631065/2044441


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

拜城县| 革吉县| 台湾省| 清苑县| 大余县| 芮城县| 新绛县| 五常市| 阿拉善盟| 浦江县| 花莲市| 大庆市| 包头市| 宁夏| 新巴尔虎右旗| 巴彦淖尔市| 肥乡县| 鄂托克前旗| 盖州市| 玛多县| 太湖县| 巴林右旗| 镇原县| 昌邑市| 正蓝旗| 扶沟县| 金昌市| 诏安县| 甘洛县| 临潭县| 吉木乃县| 屏东县| 西宁市| 皮山县| 三原县| 思南县| 金川县| 类乌齐县| 福泉市| 金坛市| 鹿泉市|