|poj 2407|欧拉函数|Relatives

    xiaoxiao2021-03-25  70

    poj传送门 简单的求 φ(n) ,复习了一下模板

    #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #define ms(i,j) memset(i,j, sizeof i); using namespace std; int phi(int n) { int m = sqrt(n+0.5); int ans = n; for (int i=2;i<=m;i++) if (n%i==0) { ans = ans/i*(i-1); while (n%i==0) n /= i; } if (n>1) ans = ans/n*(n-1); return ans; } int main() { int n; while (scanf("%d", &n)==1 && n) { printf("%d\n", phi(n)); } return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-35643.html

    最新回复(0)