欧拉函数模板

xiaoxiao2021-02-28  62

欧拉函数模板

欧拉函数是用来求给定一个属n,小于等于n的与n互质的数的数目

代码:

#include <bits/stdc++.h> using namespace std; #define N 100000001 int euler(int n) { int ans=1; int i; for(i=2;i*i<=n;i++) { if(n%i==0) { n/=i; ans*=i-1; while(n%i==0) { n/=i; ans*=i; } } } if(n>1) ans*=n-1; return ans; } int main() { int n; while(cin>>n) { cout<<n-1-euler(n)<<endl; } return 0; }
转载请注明原文地址: https://www.6miu.com/read-2633066.html

最新回复(0)