递推法求欧拉函数:

#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. c# propertyGrid下拉选项

    实现下面效果的propertygrid属性下拉选择

  2. MongoDB聚合管道(Aggregation Pipeline)

    参考聚合管道简介 聚合管道 聚合管道是基于数据处理管道模型的数据聚合框架.文档进入一个拥有多阶段(multi-stage)的管道,并被管道转换成一个聚合结果.最基本的管道阶段提供了跟查询操作类似的过滤 ...

  3. digitalocean注册验证账户、激活账号教程

    注册digitalocean账号很简单,使用优惠链接注册digitalocean还能赠送10美元余额,digitalocean vps是优秀的SSD VPS,最便宜的套餐只要5美元/月. 由于中国大陆 ...

  4. 让 idea webstorm phpstorm 能够 识别 thinkphp 的方法(自动提示功能)

    1.在/ThinkPHP/Library/Think 目录下 新建一个文件,名为:  BaseController.class.php 2.BaseController.class.php 内容为 n ...

  5. jvm工具的使用

    打开Java VisualVm->工具->插件  如图: 关于要填写的URL地址到 http://visualvm.java.net/pluginscenters.html 找到jdk版本 ...

  6. dist-upgrade

    http://www.linuxserve.com/2015/06/how-to-enable-automatic-login-on-debian.html http://www.cyberciti. ...

  7. 安装cocoapods遇到的一些问题

    其实可以直接到https://github.com/CocoaPods/Specs上把所需的文件夹下载下来 解压后命名为master放在本地的 ~/.cocoapods/repos  下面就行 但是使 ...

  8. php 分页类(3)

    <?php class Page { private $total; //总记录 private $pagesize; //每页显示多少条 private $limit; //limit pri ...

  9. Python基础篇-day4

    本节目录: 1.字符编码 2.函数 2.1参数 2.2变量 2.3返回值 2.4递归 2.5 编程范式 2.6 高阶函数 *************************************** ...

  10. split分割函数

    java.lang.string.split split 方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回. stringObj.split([separator,[limit]]) 参 ...