试题 算法提高 欧拉函数

 思路:

代码:

#include<iostream>
#include<stdio.h>
using namespace std;
typedef long long ll;
int main(){
    ll n;
    cin>>n;
    ll res=n;
    for(ll i=2;i<=n/i;i++){
        if(n%i==0){
            res = res/i*(i-1);
        }
        while(n%i==0)
            n = n/i;
    }
    if(n>1){
        res = res/n*(n-1);
    }
    cout<<res<<endl;
    
    return 0;
}
原文地址:https://www.cnblogs.com/lusiqi/p/13767052.html