鉴于n& ķ。和欧拉的完全相同的k次n& k是非常大的数字。我正在尝试使用以下代码。但它没有那么多优化。有人可以提供有效的解决方案吗?
#include <iostream>
using namespace std;
int gcd(int a, int b)
{
if (a == 0)
return b;
return gcd(b%a, a);
}
int phi(unsigned int n)
{
unsigned int result = 1;
for (int i=2; i < n; i++)
if (gcd(i, n) == 1)
result++;
return result;
}
int main()
{
long n,i,k;
cin >>n>>k;
long a[n];
for (i=1; i<=n; i++)
a[i] = phi(i);
for (i=1; i<=k; i++)
n = a[n];
cout << n<<endl;
return 0;
}