欧拉函数
文章平均质量分 63
Jozky86
这个作者很懒,什么都没留下…
展开
-
Acwing202. 最幸运的数字
Acwing202. 最幸运的数字 题意: 现在给定一个正整数 L,请问至少多少个 8 连在一起组成的正整数(即最小幸运数字)是 L 的倍数。 题解: x个8连在一起组成的正整数可写作8(10x−1)/98(10^x-1)/98(10x−1)/9。现在要求一个最小的x,满足L∣8(10x−1)9L|\frac{8(10^x-1)}{9}L∣98(10x−1). L∣8(10x−1)9L|\frac{8(10^x-1)}{9}L∣98(10x−1)=9L∣8(10x−1)9L|8(10^x-1)9L∣8(原创 2021-08-26 13:53:59 · 163 阅读 · 0 评论 -
欧拉函数(简单介绍+例题)
Acwing视频讲解 欧拉函数:正整数n,欧拉函数是小于n的正整数中与n互质的数的数目 N=p1a1 * p1a2 * p1a3 * …* p1ak 如果pj是i的最小质因子 红色区域一样 经推导得:phi[i * pj] = phi[i] * pj 如果pj不是i的最小质因子 经推导:phi[i * pj]=phi[i] * (pj-1) #include<bits/stdc++.h> #define debug(a,b) printf("%s = %d\n",a,b); typedef原创 2021-07-10 18:32:18 · 852 阅读 · 0 评论 -
AcWing 220. 最大公约数
AcWing 220. 最大公约数 题意: 题解: 题目就变成了AcWing 201. 可见的点 当然有微调,因为可见的点里面是从0开始,本题从1开始,所以本题中phi[1]认为是0 AcWing 201. 可见的点的题解 代码: #include<bits/stdc++.h> #define debug(a,b) printf("%s = %d\n",a,b); typedef long long ll; using namespace std; inline int read(){原创 2021-07-10 18:31:17 · 210 阅读 · 0 评论 -
AcWing 201. 可见的点
AcWing 201. 可见的点 题意: 题解: 我们先说结论:坐标(i,j),如果i和j互质,说明该坐标为可见 为什么? 我们想想什么样的坐标可见,什么样的会被挡住。光线是一个直线,在同一个直线上的点会被第一个点挡住,而所有光都从一个地方出发,也就是如果斜率一样,后面会被前面的挡住(暂时不考虑斜率不存在的情况)。对于坐标(i,j),斜率为k=i/j,如果i和j不互质,设gcd(i,j)=d,那么(i/d)/(j/d)也等于k,且(i/d,j/d)要比(i,j)小,前者会挡住后缀,这说明了i和j必须互质,原创 2021-07-10 18:15:35 · 309 阅读 · 1 评论