杭电acm 1286

2024-12-15 09:36:10
推荐回答(1个)
回答1:

在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。在此题中就是新朋友的数目,
φ函数的值  通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1,
p2……pn为x的所有不同质因数,x是不为0的整数
开始n%i==0,表示i是因子,第一个i是2,是质数,可以直接代入公式,ret=ret*(i-1),后面while循环,就是让n中不再有i这个因子,因为要的是不同因子,类似的直到求出所有因子,根据公式,ret就是新朋友的数目