一开始没写出来,参考了别人的题解,用我自己的理解做了出来,有更简单的办法或者问题,望指出!谢谢!

参考代码:

#include<iostream>

using namespace std;

int main(){

int n,i;

cin>>n;  

int a[3000]={0};

a[0]=1;

int c=0;

for(int i=1;i<=n;i++){

for(int j=0;j<3000;j++){

int b=a[j]*i+c;

a[j]=b%10;

c=b/10;        //进位数的位数可能不止一位。就会继续加给下一位 

}

}

    i=2999;

    while(a[i]==0){

i--;

}

for(;i>=0;i--){

cout<<a[i];

}  

cout<<endl;

return 0;


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区