【筛法求素数】【质因数分解】bzoj2721 [Violet 5]樱花
2015-06-18 21:52
399 查看
http://www.cnblogs.com/rausen/p/4138233.html
#include<cstdio> #include<iostream> using namespace std; #define MOD 1000000007 int n; bool Not[1000001]; int pr[1000001],e,ci[1000001]; void shai() { Not[1]=1; for(int i=2;i<=1000;++i) if(!Not[i]) for(int j=i*i;j<=1000000;j+=i) Not[j]=1; for(int i=1;i<=1000000;++i) if(!Not[i]) pr[++e]=i; } long long ans=1; int main() { scanf("%d",&n); shai(); for(int i=1;i<=n;++i) { int t=i; for(int j=1;j<=e&&pr[j]<=t&&Not[t];++j) while(t%pr[j]==0) { ++ci[pr[j]]; t/=pr[j]; } if(!Not[t]) ++ci[t]; } for(int i=1;i<=n;++i) ans=(ans*(long long)(ci[i]<<1|1))%MOD; cout<<ans<<endl; return 0; }
相关文章推荐
- hdoj 1427 速算24点 【经典DFS】
- 【ContestHunter】【弱省胡策】【Round7】
- 自动化辅助工具Firebug和Firepath的安装
- 《人,绩效和职业道德》及博客读后感
- 使用Canvas绘制图形的基本教程
- 在windows下如何批量转换pvr,ccz为png或jpg
- 得成CMMI大牛
- 冒泡排序与快速排序
- KDE desktop environment
- DAG上的动态规划------硬币问题
- 检查HTTP 的 Digest 认证代码示例-JSP
- 习题3-43
- 【排列组合】bzoj3505 [Cqoi2014]数三角形
- 黑马程序员--异常处理--2nd day
- Java并发编程-27-异常处理及取消任务
- 剑指offer-第四章解决面试题的思路(二叉树的镜像)
- 【枚举】bzoj3391 [Usaco2004 Dec]Tree Cutting网络破坏
- 前端优化-Img与background
- 图算法 专题
- 【半平面交】bzoj2618 [Cqoi2006]凸多边形