传送门:http://ybt.ssoier.cn:8088/problem_show.PHP?pid=1172
【题目描述】
求10000以内n的阶乘。
【输入】
只有一行输入,整数n(0≤n≤10000)。
【输出】
一行,即n!的值。
【输入样例】
4
【输出样例】
24
直接乘去就OK了
#include<iostream> #include<cstring> #define N 100010 using namespace std; int n,a[N],lena=1; int main(){ cin>>n; if(n==0){ cout<<0<<endl; return 0; } a[0]=1; for(int k=2;k<=n;k++){ for(int i=0;i<lena;i++)a[i]*=k; for(int i=0;i<lena;i++){ if(a[i]>9){ a[i+1]+=a[i]/10; a[i]%=10; if(i==lena-1)lena++; } } } for(int i=lena-1;i>=0;i--)cout<<a[i]; cout<<endl; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。