本文主要是介绍11.大数相乘 (20分),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目内容:
一个整型变量只能用来存贮较小的n!的值,当 n 较大时,可将阶乘值中的每一个数字放在一个一维数组的一个元素中。使用这方法,打印n!的值;
输入描述
整数n
输出描述
n!的值
输入样例
18
输出样例
6402373705728000
#include <iostream>
using namespace std;
int main(){int a[100]={0},n;cin>>n;int i,j,k,ws=1;a[0]=a[1]=1;for(i=1;i<=n;i++){for(j=1;j<=ws;j++)a[j]=a[j]*i;for(j=1;j<=ws;j++){if(a[j]>10){for(k=0;k<=ws;k++){if(a[ws]>9){ws++;}a[k+1]+=a[k]/10;a[k]=a[k]%10;}}} }for(i=ws;i>=1;i--)cout<<a[i];return 0;
}
这篇关于11.大数相乘 (20分)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!