[LLH邀请赛]大数计算器
Time Limit:10000MS Memory Limit:165536K
Total Submit:15 Accepted:4
Case Time Limit:1000MS
Description
TBL试图用计算器求C(N,M),可是失败了。还是你来帮他编写一个大数计算器吧。 因为答案可能很大
TBL看了会晕,所以如果答案超过12位,就以“XXX…XXXXXXXXX”的格式输出。
Input
两个非负整数N、M。
Output
一个整数表示C(N,M)。(可能包含“…”)
Sample Input
10%的分数,答案不超过int64。
30%的分数,N<=1,000。
50%的分数,N<=30,000。
100%的分数,N<=1,000,000,0<=M<=N。
Sample Output
输入样例1
10 5
输入样例2
100 50
Hint
输出样例1
252
输出样例2
100…812497256
Source
首先用素数分解把除法给消掉。。然后末几位没神马压力。。
关键是前几位。。我的办法是只保存前100位。。然后暴力算。。。
居然可以 AC囧。。。
素数分解?那不是要n*sqrt(n)的复杂度了?前几位可以用阶乘的近似公式算
Orz LS其实double就可以过了
另外 不需要素数分解啊 只需要把2,5提出来 然后除法求逆即可