【纯欧拉函数】 poj 2407

#include <cstdio>

#include <iostream>

using namespace std;

int phi(int x)

{

    int t=x;

    for(int i=2;i<=x;i++)

    {

        if(x%i==0)

        {

           t=t/i*(i-1);

           x=x/i;

        }

        while(x%i==0)

        {

            x/=i;

        }

    }

    return t;

}

int main()

{

    //freopen("in.txt","r",stdin);

    int n;

    while(cin >> n && n!=0)

    {

        cout << phi(n) <<endl;

    }

}

 

你可能感兴趣的:(poj)