算素因子种类数个个数的题目
来源:互联网 发布:大掌门神龙教主 数据 编辑:程序博客网 时间:2024/04/30 00:02
素因子种类数:
对于一个n,他的素因子总类数 有多少? Facebook Hackercup Round1 Homework题,10pts
运用筛法,然后P[j]=i ->P[j]++
int GetPrimeFactorTypeTimes(int n){ memset(P , 0, sizeof P); for(int i=2;2*i<=n;i++) { if(!P[i]) { for(int j=2*i;j<=n;j+=i) P[j]++; } } return P[n];}
素因子种类数:
对于一个n,他的素因子总个数 有多少?CodeForces http://codeforces.com/contest/546/problem/D
先筛法算每个j的一个素因子,只要存任意一个就行,然后dp一下,运用分治的思想,解决子问题,然后递推上来就好了
LL dp[maxn], P[maxn], Sum[maxn], n, t, m, a, b;void Init(){ memset(P, 0, sizeof P); P[1]=1; for(LL i=2;i*i<=maxn;i++) { if(!P[i]) { for(LL j=i*i;j<=maxn;j+=i) P[j]=i; } } dp[1]=dp[2]=dp[3]=1;for(LL i=2;i<=maxn;i++)dp[i]= (P[i] ? (dp[i/P[i]]+1) : 1);Sum[0]=0;for(LL i=1;i<=maxn;i++) Sum[i]=Sum[i-1]+dp[i];}int main(){/*#ifndef ONLINE_JUDGE freopen ("in.txt" , "r" , stdin); freopen ("out.txt" , "w" , stdout);#endif*/ Init(); t=getint(); for(int ti=1;ti<=t;ti++) { a=getint(), b=getint();printf("%d\n", Sum[a]-Sum[b]); }return 0;}
算因子个数呢?
暴力枚举,从1->sqrt(n), 或者质因子分解,然后每个幂次+1累乘就好了。
文件结束标志EOF,windows下ctrl+z是结束,Linux只是-1,表示函数的一个返回值
0 0
- 算素因子种类数个个数的题目
- HDU 5317 RGCDQ(求一个区间素因子种类数的最大公约数)
- 整数的因子数
- 素因子数GCD
- 求一个数的所有素因子
- (c#)题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"
- 【程序9】 WanShu.java 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。
- POJ_2992_Divisors(组合数的因子数)
- 无平方因子的数
- 【2019】数的质因子
- 三角数因子数
- hud5524 Subtrees 二叉树中不同节点数的字数个个数
- c语言实现统计单词个个数
- BZOJ 题目1878: [SDOI2009]HH的项链(树状数组离线求区间不同种类数)
- POJ 题目2992 Divisors(组合数因子个数)
- 题目:落单的数
- 题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3
- 求一个数的因子的个数
- boost::bind的疑问
- 欢迎使用CSDN-markdown编辑器
- ANSI和UNICODE字符的相互转化
- IPMI总结
- 令人感动的歌词
- 算素因子种类数个个数的题目
- memset对数组的初始化
- Android屏幕适配
- Java8 Stream forEach()函数的效率问题
- Summary Day34
- Selenium使用过程中碰到的问题
- Activity和Window及View之间的关系
- DICOM:开源书籍之『DICOM标准中文版』启动计划
- C++模板