求N!最后非0位 O(N log N)
来源:互联网 发布:java 两张图片合成 编辑:程序博客网 时间:2024/05/22 21:33
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1594
直接上代码,此题直接当作模题就好了,感觉不怎么好理解。看了几遍,还是不太能理解。先放这里吧。
吉林大学模版:
#include<bits/stdc++.h>#define maxn 10010using namespace std;const int mod[20]={1,1,2,6,4,2,2,4,2,8,4,4,8,4,6,8,8,6,8,2};int a[maxn];int lastdigit(char *s){ int len=strlen(s); if(len==1) return mod[s[0]-'0']; for(int i=0;i<len;i++) a[i]=s[len-1-i]-'0'; int res=1; while(len){ res=res*mod[a[1]%2*10+a[0]]%5; for(int i=len-1,j=0;i>=0;i--) j=j*10+a[i],a[i]=j/5,j%=5; len-=!a[len-1]; } return res+res%2*5;}char s[maxn];int main(){ int T;cin>>T; while(T--){ scanf("%s",s); cout<<lastdigit(s)<<endl; } return 0;}
0 0
- 求N!最后非0位 O(N log N)
- 求N!的最后一个非0位
- poj 1150 求n!中最后非0位
- poj 3406:Last digit(求C(n, m)的最后一个非0位)
- 求n!的最后一位非零数
- 求N!中最后一个非零数
- N!最后一位非0位的求法
- 求N!的最末位非零数
- 求N!的最末位非零数
- Fibonacci序列 —— O(log n)求Fibonacci数列(非矩阵法)
- poj 1150:The Last Non-zero Digit(求A(n, m)的最后一个非0位)
- 求n!,C(n,m)和A(n,m)最后的非零位。
- 求n!,C(n,m)和A(n,m)最后的非零位
- num的n次方 O(log(n))
- LIS O(n log n) 详解
- 求N!(N的阶乘) 中最后有几个0
- 求n的n次方最后一位
- n阶乘求最后非0数字及最后面连续0的个数
- C++浅析——继承类内存分布和虚析构函数
- 100万并发连接服务器笔记之1M并发连接目标达成
- Triplet Format for Sparse Matrices
- 初识Service
- codeforces-432B Football Kit
- 求N!最后非0位 O(N log N)
- MFC:CCheckListBox使用教程
- iOS OpenGL基础
- 17--黑马程序员--基础加强之泛型
- vi使用
- 【linux驱动】linux驱动总览
- POJ 1157 解题报告
- hdoj.1274 展开字符串【递归】 2015/05/15
- Interlocked系列函数线程同步的缺陷