递推法求欧拉函数:

#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. 验证mySqli扩展是否

    <?php// createTime: 2016/9/9 21:57 //验证mySqli扩展是否//phpinfo(); //2.检测扩展是否已经加载//var_dump(extension_ ...

  2. Payoneer官网注册教程,免费申请美国银行账号

    在我搞网赚项目的过程中,碰到境外收款付款的问题,起初我用Paypal贝宝,手续费高得惊人!相信做电商外贸的朋友深有体会.幸而发现了Paypal替代产品Payoneer,注册简单,手续费低,还有中文网站 ...

  3. 大数据除法(Large data division)

    题目描述 Description 除法是计算中的基础运算,虽然规则简单,但是位数太多了,也难免会出错.现在的问题是:给定任意位数(足够大就可以啦O(∩_∩)O)的一个被除数,再给定一个long lon ...

  4. AS3.0杂记——Dictionary、Object与Array

    来源:http://blog.csdn.net/m_leonwang/article/details/8811829 Object.Array与Dictionary都是关联数组,就是用“键”来索引存储 ...

  5. Mac 命令行中进入带有空格的文件夹

    http://blog.sina.com.cn/s/blog_5e8392b10100jkvg.html 今天在公司用mac的时候,有个文件夹的名字有空格,怎么都进不去,在网上一查原来不能直接cd 文 ...

  6. MFC下MCI的使用播放音乐

    最近研究了一下MFC下的音乐的播放,主要使用了MCI 1.需要包含的库文件 在链接资源里(link)添加库文件VFW32.lib winmm.lib 2.包含的头文件 #include <mms ...

  7. mysql 准则 杂谈

    转自 刘智慧的文章 1.尽量不要在数据库做运算,复杂运算移到程序段cpu,竟可能简单运用mysql 2.控制单表数据量, 库表控制300---400,单表字段控制20---50个,单表1G或500W行 ...

  8. log4net 日志文件占用,不能及时释放

    在appender 下面加 <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

  9. VBS虚拟键码

    1 VK_LBUTTON 鼠标左键 2 VK_RBUTTON 鼠标右键 3 VK_CANCEL Ctrl+Break(通常不需要处理) 4 VK_MBUTTON 鼠标中键 8 VK_BACK Back ...

  10. QTP连接MySQL

    1.首先安装mysql数据驱动,qtp在windows系统下操作连接mysql,所以下载mysql-connector-odbc-   5.1.8-win32.msi 下载地址:http://mysq ...