欧拉函数

来源:互联网 发布:泰安知金复读怎么样 编辑:程序博客网 时间:2024/04/29 10:49

欧拉函数:

 

#include <iostream>

using namespace std;


int eular(int n) {

       int ret = 1, i; 

       for (i = 2; i * i <= n; i++)

  {

           if (!(n % i)) {

                  n /= i;

                  ret *= i - 1;

                  while (!(n % i)) 

 n /= i,  ret *= i;

            }

  }

        if(n > 1) 

ret *= n - 1;

       return ret;

}


int main()

{

int n=30;

 

int k;

k=eular(n);


cout<<k<<endl;

return 0;

}

原创粉丝点击