15:阶乘和
2018-06-17 23:05:52来源:未知 阅读 ()
15:阶乘和
- 查看
- 提交
- 统计
- 提问
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
用高精度计算出S=1!+2!+3!+…+n!(n≤50)
其中“!”表示阶乘,例如:5!=5*4*3*2*1。
输入正整数N,输出计算结果S。
- 输入
- 一个正整数N。
- 输出
- 计算结果S。
- 样例输入
-
5
- 样例输出
-
153
- 来源
- NOIP1998复赛 普及组 第二题
-
1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 using namespace std; 6 int a[10001]={1}; 7 int ans[100001]={0}; 8 char n[1001]; 9 int en[1001]; 10 int lans=1; 11 int la=1; 12 int x; 13 int main() 14 { 15 int n; 16 cin>>n; 17 int x=0; 18 for(int i=1;i<=n;i++)//寻找每一个数 19 { 20 memset(a,0,sizeof(a)); 21 a[0]=1; 22 for(int k=1;k<=i;k++)//求阶乘 23 { 24 for(int j=0;j<la;j++) 25 { 26 a[j]=a[j]*k+x; 27 x=a[j]/10; 28 if(x>0&&j==la-1) 29 la++; 30 a[j]=a[j]%10; 31 } 32 33 } 34 int l=0; 35 x=0; 36 while(l<=la||l<=lans) 37 { 38 ans[l]=ans[l]+a[l]+x; 39 x=ans[l]/10; 40 if(x>0) 41 lans++; 42 ans[l]=ans[l]%10; 43 l++; 44 } 45 } 46 int flag=0; 47 for(int i=lans;i>=0;i--) 48 { 49 if(ans[i]==0&&flag==0) 50 continue; 51 else flag=1; 52 cout<<ans[i]; 53 } 54 return 0; 55 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:7649:我家的门牌号
- L1-013 计算阶乘和 (10分) 2020-03-24
- 用C++实现:高精度阶乘 2020-03-18
- 查看程序运行时间以及延时程序实现 2019-04-25
- C++编程查看指针变量的值 2019-01-22
- c. 求阶乘和的方法(N的值不能太大)初学者 2018-12-04
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash