本文共 1463 字,大约阅读时间需要 4 分钟。
Description
Input
Output
Sample Input
23450
Sample Output
1359
题目大意:
就是求一个F(n)的中元素的个数。
解题思路:
首先我们分析一下题目,我们一看就是关于欧拉函数的题,就是求<=b中与b互素的个数,但是我们别忘记还得加上phi(<n)的值,所以这个问题就是求欧拉函数的和的问题,然后我们如果用正常的做法也就是暴力做的话 会超时的(我试过了/笑cry),所以我们要找到更快速的方法 ——筛法,其实这个筛法就是跟素数筛差不多的,也算是又学了一个知识点
void Init(){ memset(phi, 0, sizeof(phi)) ; for(int i=2; iCode:
#include#include #include using namespace std;typedef long long LL;const int MAXN = 1e6+5;int phi[MAXN];void Init(){ memset(phi, 0, sizeof(phi)) ; for(int i=2; i >m,m) { LL sum = 0; for(int i=2; i<=m; i++) sum += phi[i]; cout< <
转载地址:http://wqdxx.baihongyu.com/