欧拉
文章平均质量分 79
Lazines_by
好吧,我要工作了
展开
-
欧拉定理的应用hdu2462,hdu1395
欧拉定理:a^x 1(mod m),那么 x = euler(m);The Luckist Number题意:输入一个n,求能够整除n只由8组成的数的最小的位数;思路:题目等价于满足(10^x - 1)/ 9 * 8 == n * p,其中p为整数,的x的最小值,n的范围2 * 10 ^ 9;刚开始的时候,想直接把1,11,111,1111,……打一个表打到2*10原创 2016-11-20 21:53:26 · 377 阅读 · 0 评论 -
euler欧拉函数学习入门
euler函数:对于一个数n,euler(n)的求的是在【1,n】之间与n互质的数的个数,公式为:euler(n) = n * (1 - p1) * (1 - p2) * (1 - p3) * ......*(1- pn),其中p1,p2,.....pn是n的质数,不重叠;实现的算法是typedef long long ll;//直接求解欧拉函数ll euler(ll x){ /原创 2016-11-09 18:32:51 · 1059 阅读 · 0 评论 -
poj 1284 求原根
题目大意:给出一个奇素数,求出他的原根的个数,定义n的原根x满足条件0关于这道题。如果知道欧拉函数的话,看出的答案是phi(n-1)其实也不难定理:如果p有原根,则它恰有φ(φ(p))个不同的原根,p为素数,当然φ(p)=p-1,因此就有φ(p-1)个原根直接用euler打表:#include#include#include#include#原创 2017-05-23 11:20:23 · 559 阅读 · 0 评论 -
poj2407欧拉
直接euler#include#include#include#include#include#include#includeusing namespace std;const int maxn = 100000 + 10;#define INF 0x3f3f3f3f#define clr(x,y) memset(x,y,sizeof x )typedef lon原创 2017-05-23 11:26:27 · 203 阅读 · 0 评论 -
poj 2478
euler函数的简单应用,只是要叠加,不过记得开long long#include#include#include#include#include#include#includeusing namespace std;const int maxn = 1000000 + 10;#define INF 0x3f3f3f3f#define clr(x,y) memset原创 2017-05-23 15:24:02 · 209 阅读 · 0 评论 -
poj 3090 欧拉函数简单应用
找出n * n的方格中有多少不同的直线斜率;分成三个部分,首先是斜率为1和两个坐标轴,然后是被三条直线切成的两个部分,这个的话求出一部分*2,一部分假设斜率为x/y(x #include#include#include#include#include#include#includeusing namespace std;const int maxn = 1000 + 10;原创 2017-05-23 15:37:19 · 323 阅读 · 0 评论 -
poj3558 euler
转载自:http://blog.csdn.net/code_or_code/article/details/38493609题目:求 q/p 二进制小数的循环节,起点和长度。若满足 2^phi[ n ] = 1 (mod n ) 则 数 t = phi [ n ] 一定有一个使 2^k=1 (mod n )成立的 因子 k转载 2017-05-29 14:46:55 · 240 阅读 · 0 评论 -
hdu 3970(欧拉+逆元)
题意:找出{0 ,1,……,n - 1}这个集合中的子集的元素的和能整除n的个数。思路:不会推导,打了个表,还是没发现规律,找到网站才发现规律为:a(n) = 1/n * sum_{d divides n and d is odd}2^(n/d) * phi(d).哎,都不好意思粘了。。#includeusing namespace std;const int Mod原创 2017-07-19 17:42:34 · 223 阅读 · 0 评论