102 Coprimes

单独求欧拉函数


 1
 2#include <iostream>
 3#include <cmath>
 4using namespace std;
 5
 6int euler(int x) {
 7    int i, res = x;
 8    for(i = 2; i < (int)(sqrt(x * 1.0))+1; i++{
 9        if(!(x % i))
10            res = res / i * (i-1);
11        while(!(x % i))
12            x /= i;
13    }

14    if(x > 1)
15        res = res / x * (x-1);
16    return res;
17}

18
19int main() {
20    int n;
21    cin >> n;
22    cout << euler(n) << endl;
23    return 0;
24}

posted on 2010-01-21 14:25 安子 阅读(5) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航:   博客园   博客园最新博文   博问   管理


<2026年6月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

导航

统计

常用链接

留言簿

随笔分类

文章档案

搜索

最新评论