http://acm.hdu.edu.cn/showproblem.php?pid=4135
求连续区间[a,b]内与n互质的数的个数。
因为a,b相当大,考虑用容斥原理。只需先求出[a,b]内与n不互质的数的个数,等于[1,b]内与n不互质的个数 - [1,a-1]内与n不互质的个数。问题转化为求【1,m】内与n不互质的数的个数。
先对n分解质因子,[1,m]内是n的质因子的倍数的...
分类:
其他好文 时间:
2014-10-30 00:27:50
阅读次数:
266
问题描述:给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3628800,N!末尾有两个0
问题分析:算出N的阶乘再看他有多少个0肯定不实际,N稍微大点就极耗费时间空间,那么我们来分析一下什么时候会增加一个0呢,当存在2*5或者10的倍数时,其中10的倍数可以分解成(2*5)的n次方,很明显N!分解出来的质因子里面里面2的个数远远大于5,所以要知道N!有多少个0,只需要知...
分类:
其他好文 时间:
2014-10-27 10:50:47
阅读次数:
146
题目链接:hdu 4777 Rabbit Kingdom
题目大意:一个兔子王国,有N只兔子,每只兔子有一个重量,如果两只兔子的重量不互质,那么就会干架,现在国王想将l r之间的兔子关进监狱,它想知道会有多少只兔子不会和别的兔子干架。
解题思路:预处理出每只兔子的L,R表示向左和向右最近会与该兔子发生冲突的兔子,预处理的时候只要将每只兔子的重量分解成质因子后遍历两遍。
对于询问,将询...
分类:
编程语言 时间:
2014-10-12 10:14:00
阅读次数:
259
miller_rabbin素数判定。若不是,则pollard_rho分解质因子,找到最小即可。Miller-rabinMiller-rabin算法是一个用来快速判断一个正整数是否为素数的算法。它利用了费马小定理,即:如果p是质数,且a,p互质,那么a^(p-1)modp恒等于1。也就是对于所有小于p...
分类:
其他好文 时间:
2014-10-09 22:03:17
阅读次数:
215
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1058解题报告:输入一个n,输出第n个质因子只有2,3,5,7的数。用了离线打表,因为n最大只有5842。 1 #include 2 #define INT __int64 3 INT ans[5850]...
分类:
其他好文 时间:
2014-10-02 21:50:53
阅读次数:
1042
#include
#include
#include
#include
#include
using namespace std;
#define N 1000000//12031230
int digit[N]; //记录素因子
int num[N]; //记录每个素因子个数
int c; //记录素因子的个数
void divid...
分类:
其他好文 时间:
2014-09-18 18:52:24
阅读次数:
212
题意:给定gcd(a,b)和lcm(a,b) 求使得a+b最小的 a,b思路:结合算数基本定理中 gcd lcm的质因子表示形式把lcm(a,b)质因数分解 以后 通过dfs找到 a+b最小的a b即可#include #include#include#includeusing namespace ...
分类:
其他好文 时间:
2014-09-12 20:41:34
阅读次数:
225
题目链接
题意:输入两个整数n和m,求最大的整数k使得m^k是n!的约数。
思路:m^k等于m的所有质因子的k次方的和,所以只要找到m中的质因子在n!中所能得到的最小的次方,就是k的值。
代码:
#include
#include
#include
#include
#include
using namespace std;
const int INF...
分类:
其他好文 时间:
2014-09-12 17:18:23
阅读次数:
237
题目链接
题意:输入正整数n,统计有多少对正整数a
思路:分解质因子,然后直接暴力求出对数
代码:
#include
#include
#include
#include
#include
using namespace std;
typedef long long ll;
const int MAXN = 1000;
ll arr[MAXN];...
分类:
其他好文 时间:
2014-09-11 21:02:02
阅读次数:
181
使用Pollard_rho算法分解lcm/gcd的质因数,原因不说也明白了。然后排序,把相同的质因子合并,因为如果相同的质因子分落在两个因数,会使ab的GCD值改变。然后,枚举各种组合,呃。。。。这个实在想不到好方法,只好枚举了,真想不明白,那么两位数时间的是怎么样做到的。#include #inc...
分类:
其他好文 时间:
2014-09-09 11:30:38
阅读次数:
221