阶乘处理:在每一位乘运算结束之后再考虑进位否则运算会出错
#include<iostream> #include<string.h> using namespace std; int main(){ int n,j,i; int a[100000]={1}; cin>>n; int len=sizeof(a)/sizeof(a[0]); for(i=0;i<n;i++){ for(j=0;j<len;j++){ a[j]=a[j]*(i+1); } for(j=0;j<len;j++){ int temp=0; if(a[j]>=10){ temp=a[j]; a[j]=a[j]%10; a[j+1]=temp/10+a[j+1]; } } } int flag=0; for(i=len-1;i>=0;i--){ if(a[i]) flag=1; if(flag) cout<<a[i]; } cout<<endl; }
原文:https://www.cnblogs.com/joker99/p/12227213.html