HDU 2824 The Euler function

Posted IKnowYou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 2824 The Euler function相关的知识,希望对你有一定的参考价值。

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2824

 解题思路:

打表筛选出一段范围内的欧蓝函数

实现代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

const int N=3000001;

int phi[N];

void init(){
    for(int i=1;i<N;i++)
        phi[i]=i;

    for(int i=2;i<N;i++){
        if(i==phi[i])     //此时i是素数
            for(int j=i;j<N;j+=i)
                phi[j]=(phi[j]/i)*(i-1);  //每一个j都有素因子i
    }
}

int main(){
    int a,b;
    init();
    while(cin>>a>>b){
        long long res=0;
        for(int i=a;i<=b;i++)
            res+=phi[i];
        cout<<res<<endl;
    }
}

 

以上是关于HDU 2824 The Euler function的主要内容,如果未能解决你的问题,请参考以下文章

HDU 2824 The Euler function

HDU——2824 The Euler function

HDU——T 2824 The Euler function

hdu-2824 The Euler function(欧拉函数)

hdu2824 The Euler function O(n)求欧拉函数

HDU2824 The Euler function(欧拉函数)