欧拉函数

给定n个正整数ai,请你求出每个数的欧拉函数。

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

int main(void){
    int n;
    cin>>n;
    for(int i=0,a;i<n;i++){
        cin>>a;
        int res=a;
        for(int i=2;i<=a/i;i++){
            if(a%i==0){
                res=res/i*(i-1);
                while(a%i==0)a/=i;
            }
        }
        if(a>1)res=res/a*(a-1);
        cout<<res<<endl;
    }
    return 0;
}

 

posted @ 2019-07-21 16:42  YF-1994  阅读(126)  评论(0编辑  收藏  举报