递推法求欧拉函数:

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
;
long long phi[maxn];
void make_phi()
{
    ;i<maxn;++i)
    phi[i]=i;
    ;i<maxn;++i)
    {
        if(phi[i]==i)
        {
            for(long long j=i;j<maxn;j+=i)
            {
                phi[j]=phi[j]-phi[j]/i;
            }
        }
    }
}
long long ans[maxn];
void make_ans()
{
     ans[]=;
    ;i<maxn;++i)
        ans[i]=ans[i-]+phi[i];
}
int main()
{
    // freopen("in","r",stdin);
    make_phi();
    make_ans();
    //    for(long long i=2;i<=10;++i)
    //    cout << phi[i] <<endl;
    long long n;
     && n)
    {
          printf("%lld\n",ans[n]);
    }
    ;
}

素数打表法求欧拉函数:

这里有个小插曲就是note【maxn+1】原来maxn没有加一RE了n次,经刘卓大神指教瞬间改正

之前还以为是cin和cout不能接收long long 呢

#include <cstdio>
#include <iostream>
#include <stdlib.h>
using namespace std;
;
];
int main()
{
    //freopen("in.txt","r",stdin);
    long long *phi,i,j;
    long long *prime;
    prime=()*sizeof(long long));
    prime[]=prime[]=;
    ;i<=maxn;i++)
        prime[i]=;
    ;i*i<=maxn;i++)
    {
        if(prime[i])
        {
            for(j=i*i;j<=maxn;j+=i)
                prime[j]=;
        }
    }
    phi=()*sizeof(long long));
    ;i<=maxn;i++)
        phi[i]=i;
    ;i<=maxn;i++)
    {
        if(prime[i])
        {
            for(j=i;j<=maxn;j+=i)
                phi[j]=phi[j]/i*(i-);
        }
    }
    note[]=;
    ;i<=maxn;i++)
    {
        note[i]=note[i-]+phi[i];
    }
    long long n;
    while(cin >> n && n)
    {
        cout << note[n] << endl;
    }

  //  while(scanf("%lld",&n)==1 && n)
  //  {
   //     printf("%lld\n",note[n]);
    //}
    ;
}

【欧拉函数】 poj 2478的更多相关文章

  1. 欧拉函数 &【POJ 2478】欧拉筛法

    通式: $\phi(x)=x(1-\frac{1}{p_1})(1-\frac{1}{p_2})(1-\frac{1}{p_3}) \cdots (1-\frac{1}{p_n})$ 若n是质数p的k ...

  2. POJ 2478 Farey Sequence(欧拉函数前n项和)

    A - Farey Sequence Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u ...

  3. poj 2478 Farey Sequence(欧拉函数是基于寻求筛法素数)

    http://poj.org/problem?id=2478 求欧拉函数的模板. 初涉欧拉函数,先学一学它主要的性质. 1.欧拉函数是求小于n且和n互质(包含1)的正整数的个数. 记为φ(n). 2. ...

  4. 欧拉函数 & 【POJ】2478 Farey Sequence & 【HDU】2824 The Euler function

    http://poj.org/problem?id=2478 http://acm.hdu.edu.cn/showproblem.php?pid=2824 欧拉函数模板裸题,有两种方法求出所有的欧拉函 ...

  5. POJ 2478 欧拉函数打表的运用

    http://poj.org/problem?id=2478 此题只是用简单的欧拉函数求每一个数的互质数的值会超时,因为要求很多数据的欧拉函数值,所以选用欧拉函数打表法. PS:因为最后得到的结果会很 ...

  6. poj 3090 &amp;&amp; poj 2478(法雷级数,欧拉函数)

    http://poj.org/problem?id=3090 法雷级数 法雷级数的递推公式非常easy:f[1] = 2; f[i] = f[i-1]+phi[i]. 该题是法雷级数的变形吧,答案是2 ...

  7. hdu1787 GCD Again poj 2478 Farey Sequence 欧拉函数

    hdu1787,直接求欧拉函数 #include <iostream> #include <cstdio> using namespace std; int n; int ph ...

  8. POJ 2478 线性递推欧拉函数

    题意: 求sigma phi(n) 思路: 线性递推欧拉函数 (维护前缀和) //By SiriusRen #include <cstdio> using namespace std; # ...

  9. 数学之欧拉函数 &几道poj欧拉题

    欧拉函数总结+证明 欧拉函数总结2 POJ 1284 原根 #include<iostream> #include<cstdio> #include<cstring> ...

随机推荐

  1. w3c School

    w3c School : http://www.w3school.com.cn/h.asp

  2. redis :初步使用

    redis : 1.ubuntu安装  'pip install redis-server' 2.启动    'redis-cli' 3.使用 set:  set a 1 get:  get a fl ...

  3. DD应用实例

    1.将本地的/dev/hdb整盘备份到/dev/hdd dd if=/dev/hdb of=/dev/hdd2.将/dev/hdb全盘数据备份到指定路径的image文件dd if=/dev/hdb o ...

  4. hdu_5354_Bipartite Graph(cdq分治+并查集判二分图)

    题目链接:hdu_5354_Bipartite Graph 题意: 给你一个由无向边连接的图,问对于每一个点来说,如果删除这个点,剩下的点能不能构成一个二分图. 题解: 如果每次排除一个点然后去DFS ...

  5. 安卓---下拉刷新---上拉加载---解决导入library等自生成库文件失败的问题

    本文的下拉刷新以及上拉加载都是用PullToRefresh实现的,关于PullToRefresh的介绍以及源码,网上可以找到很多,本人在此不再赘述. PullToRefresh是一套实现非常好的下拉刷 ...

  6. SSL单向认证和双向认证原理

    注:本文为个人学习摘录,原文地址:http://edison0663.iteye.com/blog/996526 为了便于更好的认识和理解 SSL 协议,这里着重介绍 SSL 协议的握手协议.SSL ...

  7. Windows系统顽固文件删除方法

    con nul都是windows的设备,默认是不允许删除的,如果你一定要删除,可以按照以下方法进行删除!新建一个记事本输入一下内容(直接复制即可)DEL /F /A /Q \\?\%1 RD /S / ...

  8. 2016 ACM/ICPC Asia Regional Dalian ICPC大连现场赛

    讲道理我挺想去大连的…… 毕竟风景不错…… 而且这次能去北京也是靠大连网络赛这一场拉开的优势…… 一道补图最短路一道数学推论简直爽爆…… 当然 除了这一场 其他场都非常划水…… 上次看到别人的博客用这 ...

  9. Java 算法

    1.简单的冒泡排序 //冒泡算法一共两种 // -----冒泡算法(1) int a[]={23,69,4,58,1,20}; for (int i = 0; i < a.length-1; i ...

  10. html5 读写sqlite数据库

    var db = openDatabase('MyData','','My Database',102400); //首先它创建一个数据库表,里面有3个字段 db.transaction(functi ...