随笔分类 -  数学-质数相关

摘要:题目描述 求 1,2,.....,N 中素数的个数。 输入输出格式 输入格式: 1 个整数 N。 输出格式: 1 个整数,表示素数的个数。 输入输出样例 输入样例#1: 10 输出样例#1: 4 说明 • 对于40% 的数据, 1≤N≤10^6 • 对于80% 的数据, 1≤N≤10^7 • 对于1 阅读全文
posted @ 2018-05-09 18:45 月亮茶 阅读(280) 评论(0) 推荐(0)
摘要:筛约数个数和 理论基础: 1、对n质因数分解,n=p1^k1 * p2^k2 * p3^k3 …… 则n的约数个数为(k1+1)*(k2+1)*(k3+1)…… 2、线性筛素数时,用i和素数pj来筛掉 i*pj, 其中pj一定是i*pj的最小素因子 如果i是pj的倍数,pj也是i的最小素因子 设t[ 阅读全文
posted @ 2018-05-09 18:15 月亮茶 阅读(649) 评论(0) 推荐(0)
摘要:题目背景 不告诉你…… 题目描述 求出1!*2!*3!*4!*……*n!的末尾有几个零 输入输出格式 输入格式: n(n<=10^8) 输出格式: 有几个零 输入输出 输入样例#1: 10 输出样例#1: 7 我的做法: 将1-n 的阶乘 对2和5进行质因数分解 假设有A个5,B个2 那么最终答案为 阅读全文
posted @ 2018-05-09 17:12 月亮茶 阅读(539) 评论(0) 推荐(0)
摘要:描述给定两个数n,m,其中m是一个素数。将n(0<=n<=2^31)的阶乘分解质因数,求其中有多少个m。 做法: while(n/m) ans+=n/m,n/=m; ans即为答案 阅读全文
posted @ 2018-05-09 16:44 月亮茶 阅读(1047) 评论(0) 推荐(0)
摘要:题目描述 现在给你一些连续的整数,它们是从A到B的整数。一开始每个整数都属于各自的集合,然后你需要进行一下的操作: 每次选择两个属于不同集合的整数,如果这两个整数拥有大于等于P的公共质因数,那么把它们所在的集合合并。 反复如上操作,直到没有可以合并的集合为止。 现在Caima想知道,最后有多少个集合 阅读全文
posted @ 2018-04-11 16:08 月亮茶 阅读(205) 评论(0) 推荐(0)