欧拉函数找前n个数的互质个数

int main()
{
    int a;
    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;
}

你可能感兴趣的:(算法,c++,数据结构)