N と互いに素で N 未満の整数の数を計算するには、そのETFを簡単に計算できます。しかし、N と互いに素であるが M 未満の整数の数を計算するには、M < N の場合、どのように変更/計算できますか? ETF を計算するコードを試しましたが、必要な結果を得るためにコードを変更する方法に進むことができません。
コード:
int etf(int n)
{
int result = n;
int i;
for(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;
}
ありがとう