国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

基礎(chǔ)練習(xí) 階乘計(jì)算

2019-11-11 04:18:19
字體:
供稿:網(wǎng)友

問題描述

  輸入一個(gè)正整數(shù)n,輸出n!的值。  其中n!=1*2*3*…*n。算法描述  n!可能很大,而計(jì)算機(jī)能表示的整數(shù)范圍有限,需要使用高精度計(jì)算的方法。使用一個(gè)數(shù)組A來表示一個(gè)大整數(shù)a,A[0]表示a的個(gè)位,A[1]表示a的十位,依次類推。  將a乘以一個(gè)整數(shù)k變?yōu)閷?shù)組A的每一個(gè)元素都乘以k,請注意處理相應(yīng)的進(jìn)位。  首先將a設(shè)為1,然后乘2,乘3,當(dāng)乘到n時(shí),即得到了n!的值。輸入格式  輸入包含一個(gè)正整數(shù)n,n<=1000。輸出格式  輸出n!的準(zhǔn)確值。樣例輸入10樣例輸出3628800代碼分享:
/*此題關(guān)鍵部分在于進(jìn)位的處理,以及結(jié)果的輸出。重點(diǎn)留意code的第15-18行 21-23行 */ #include<stdio.h>#include<string.h>int main(){	int R[3000];//儲(chǔ)存結(jié)果的數(shù)組 	int n,i,j;	int num;	memset(R,0,sizeof(R));//先將結(jié)果數(shù)組全部賦值為0 	scanf("%d",&n);	R[0]=1;//第一位表示個(gè)位 	num=1;//表示當(dāng)前保存結(jié)果的數(shù)組中有效的位數(shù) 	for(i=2;i<=n;i++){		int c=0;//c表示進(jìn)位,初始化為0 		for(j=0;j<3000;j++){			int s=R[j]*i+c;//s暫時(shí)儲(chǔ)存結(jié)果,由進(jìn)位和當(dāng)前位乘積相加得到 			R[j]=s%10;//去除十位數(shù)字,保留個(gè)位數(shù)字 			c=s/10;//求進(jìn)位				}	}	for(i=2999;i>=0;i--)		if(R[i])			break;//去除結(jié)果數(shù)組前面無效的0部分 	for(j=i;j>=0;j--)		PRintf("%d",R[j]);//由高到低輸出結(jié)果 	printf("/n");	return 0;}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 凤冈县| 嘉荫县| 贡嘎县| 龙岩市| 合阳县| 射阳县| 富顺县| 甘南县| 余庆县| 青川县| 星子县| 信丰县| 武邑县| 玛多县| 梓潼县| 雅安市| 饶阳县| 侯马市| 东阿县| 离岛区| 衢州市| 福鼎市| 磐石市| 枣阳市| 汶上县| 龙门县| 灵宝市| 牡丹江市| 迁安市| 万全县| 修文县| 航空| 河南省| 大名县| 青冈县| 姜堰市| 墨竹工卡县| 曲靖市| 宜丰县| 延边| 廊坊市|