欧拉函数(计算1-n区间内素数的个数)

int oula(int n)
{
	int res = n, a = n;
	for(int i=2; i*i<=a; ++i){
		if(a%i==0){
			res = res/i*(i-1);
			while(a%i==0) a = a/i;
		}
	}
	if(a>1)res=res/a*(a-1);
	return res;
}

 

你可能感兴趣的:(模板,数论)