Euler function template _

//欧拉函数
#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
	int n;
	cin >> n;
	
	while(n--)
	{
		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 << endl;
	}
	return 0;
}
Published 12 original articles · won praise 0 · Views 110

Guess you like

Origin blog.csdn.net/qq_45244489/article/details/105074494