我正在使用spoj http://www.spoj.com/problems/ETF/做一个问题。我提交了这段代码。
#include <iostream>
using namespace std;
int fi(int);
int main()
{
int t,n;
cin>>t;
while(t--)
{
cin>>n;
printf("%d\n",fi(n));
}
}
int fi(int n)
{
int result = n;
for(int i=2;i*i <= n;i++)
{
if (n % i == 0) result -= result / i;
while (n % i == 0) n /= i;
}
if (n > 1) result -= result / n;
return result;
}
接受:0.60秒
我想知道一件事