博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
杭电ACM——1042,N!(思维)
阅读量:4051 次
发布时间:2019-05-25

本文共 806 字,大约阅读时间需要 2 分钟。

大数。不过这道题的数真的大得很可怕,大到一段时间内一直怀疑是不是自己算法错了。

代码如下:

#include
#include
long long a[2701]; //10000!至少有30000+几千位,每个数组元素存储14位的数字int main(){ int n,i,j; int start,first,pre; long long mod=1; for(i=1;i<=14;i++) mod*=10; while(~scanf("%d",&n)) { if(n==0) printf("1\n"); else { memset(a,0,sizeof(a)); a[2700]=1; for(i=1;i<=n;i++) //大数乘法 { for(j=2700;j>=0;j--) //每个数位上的数字都乘以这个数 a[j]*=i; for(j=2700;j>=0;j--) //乘完后再取余 { if(a[j]>=mod) { a[j-1]=a[j-1]+a[j]/mod; a[j]%=mod; } } } start=0;first=1; for(i=0;i<=2700;i++) { if(a[i]!=0) start=1; if(start) { if(first) { first=0; printf("%lld",a[i]); } else printf("%014lld",a[i]); } } printf("\n"); } } return 0;}

转载地址:http://rfdci.baihongyu.com/

你可能感兴趣的文章
Selenium之前世今生
查看>>
Selenium-WebDriverApi接口详解
查看>>
Selenium-ActionChains Api接口详解
查看>>
Selenium-Switch与SelectApi接口详解
查看>>
Selenium-Css Selector使用方法
查看>>
Linux常用统计命令之wc
查看>>
测试必会之 Linux 三剑客之 sed
查看>>
Socket请求XML客户端程序
查看>>
Java中数字转大写货币(支持到千亿)
查看>>
Java.nio
查看>>
函数模版类模版和偏特化泛化的总结
查看>>
VMware Workstation Pro虚拟机不可用解决方法
查看>>
最简单的使用redis自带程序实现c程序远程访问redis服务
查看>>
redis学习总结-- 内部数据 字符串 链表 字典 跳跃表
查看>>
iOS 对象序列化与反序列化
查看>>
iOS 序列化与反序列化(runtime) 01
查看>>
iOS AFN 3.0版本前后区别 01
查看>>
iOS ASI和AFN有什么区别
查看>>
iOS QQ侧滑菜单(高仿)
查看>>
iOS 扫一扫功能开发
查看>>