链接

题意从尾部找第一个非0的数 这样就可以考虑下怎样会形成0  这个都知道 只有因子2和因子5相遇会形成0 那这样可以先把所有的2和5先抽出来,这样就保证了其它的数相乘就不会再出现0了 这样就可以转换成尾数相乘的结果 当然可能2的个数会剩余 这一部分留到最后去算

step1 抽出所有的5和2  n!里因子x的个数 求法: n/x+gn(n/x);

这样结果就为1 3 7 9 之一  这样就需要求一下尾部3,,7,9的出现的次数,并且可以发现它们都是以4为周期的 包括2

step2 尾部3 7 9出现的次数 f[n] + find(n/2) 因为抽走了2  x出现的次数g[n][x] = n/10+(n%10>=x)+ggn(n/5)因为抽走了5

最后再把2的影响补上

题意求N!/(n-m)!  因为N!包含(n-m)! 故可以通过各个数出现的次数相减求得最后的结果

 #include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#include<vector>
#include<cmath>
#include<queue>
#include<set>
using namespace std;
#define N 100000
#define LL long long
#define INF 0xfffffff
const double eps = 1e-;
const double pi = acos(-1.0);
const double inf = ~0u>>;
int o[][];
int p[][];
int gn(int n,int x)
{
if(n==)
return ;
return n/+(n%>=x)+gn(n/,x);
}
int ggn(int n,int x)
{
if(n==)
return ;
return gn(n,x)+ggn(n/,x);
}
int find0(int n,int x)
{
if(n==) return ;
return n/x+find0(n/x,x);
}
int main()
{
int n,m;
p[][] = ,p[][] = ,p[][] = ,p[][] = ;
p[][] = ,p[][] = ,p[][] = ,p[][] = ;
p[][] = ,p[][] = ,p[][] = ,p[][] = ;
p[][] = ,p[][] = ,p[][] = ,p[][] = ;
while(cin>>n>>m)
{
memset(o,,sizeof(o));
m = n-m;
o[][] = find0(n,);
o[][] = find0(m,);
o[][] = find0(n,);
o[][] = find0(m,); o[][] = ggn(n,);
o[][] = ggn(n,);
o[][] = ggn(n,);
o[][] = ggn(m,);
o[][] = ggn(m,);
o[][] = ggn(m,);
o[][] -= o[][];
o[][] -= o[][];
int a = o[][]-o[][];
int b = o[][]-o[][];
int c = o[][]-o[][];
int k = o[][]-o[][];
int ans = ;
if(a) ans*=p[][a%];
if(b) ans*= p[][b%];
if(c) ans*= p[][c%];
if(k) ans*= p[][k%];
cout<<ans%<<endl;
}
return ;
}

最新文章

  1. [LeetCode] Minimum Moves to Equal Array Elements 最少移动次数使数组元素相等
  2. [CSS]textarea设置下划线格式
  3. 基于springMVC+angular+bootstrap+mysql的简易购物网站搭建
  4. siem主流厂商
  5. EF 请求数据是缓存 求大神解释
  6. 电池和Adapter切换电路改进实验(转)
  7. 使用ifstream和getline读取文件内容[c++]
  8. anki_vector SDK源码解析(教程)
  9. 【原创 Hadoop&amp;Spark 动手实践 3】Hadoop2.7.3 MapReduce理论与动手实践
  10. [20170927]关于hugepages.txt
  11. 【CV】CVPR2015_A Discriminative CNN Video Representation for Event Detection
  12. yolov2源码分析
  13. excel的宏与VBA入门(二)——数据类型与变量
  14. almond进一步优化requirejs
  15. level 1 -- unit 4 -- where 引导的疑问句
  16. Visual Studio快捷键大全
  17. 自定义cscope-index
  18. mysql 一对多 group查询
  19. 图的建立(邻接矩阵)+深度优先遍历+广度优先遍历+Prim算法构造最小生成树(Java语言描述)
  20. Python面试题之Python反射详解

热门文章

  1. 小程序 swiper banner 图片 居中
  2. iOS的基本框架
  3. glibc CVE-2015-7547漏洞的分析和修复方法【转】
  4. Oracle:通过oracle sql developer工具导入excel数据
  5. Python小练习_数据库表数据导出到excel
  6. Android 增,删,改,查 通讯录中的联系人
  7. HDU 1711(KMP)字符串匹配
  8. ubuntu IP 扫描
  9. python-dev 安装错误
  10. CodeForces-380C:Sereja and Brackets(线段树与括号序列)