欧拉函数指小于n且与其互质的数个数: phin=n*(1-1/p1)*(1-1/p2)*...(1-1/pn)

由此便可以利用类似筛素数筛出所有欧拉函数,具体看代码:

 1 #include<stdio.h>
 2 #include<string.h>
 3 long long phi[3000005];
 4 int main()
 5 {
 6     int i,j,k;
 7     phi[1]=0;
 8    for (i=2;i<=3000000;i++) phi[i]=i;
 9     for (i=2;i<=3000000;i++)
10     {
11         if (phi[i]==i)
12         for (j=1;i*j<=3000000;j++)
13             phi[i*j]=(phi[i*j]/i)*(i-1);
14     }
15     for (k=2;k<=3000000;k++)
16         phi[k]=phi[k-1]+phi[k];
17     while (~scanf("%d%d",&i,&j))
18         printf("%I64d\n",phi[j]-phi[i-1]);
19 }

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2824

转载于:https://www.cnblogs.com/xiao-xin/articles/4150823.html

hdu2824(2009多校第一场) 线性筛法求欧拉函数相关推荐

  1. AcWing 874. 筛法求欧拉函数(线性筛法求欧拉函数模板)

    给定一个正整数 n,求 1∼n 中每个数的欧拉函数之和. 输入格式 共一行,包含一个整数 n. 输出格式 共一行,包含一个整数,表示 1∼n 中每个数的欧拉函数之和. 数据范围 1≤n≤10^6 输入 ...

  2. 【模板题】欧拉函数与线性筛求欧拉函数

    欧拉函数是什么? 定义:对于正整数nnn,欧拉函数是小于或等于nnn的正整数中与nnn互质的数的个数,记作φ(n)\varphi (n)φ(n). φ(1)=1\varphi (1)=1φ(1)=1. ...

  3. 874. 筛法求欧拉函数

    874. 筛法求欧拉函数 题目 代码 题目 给定一个正整数 n,求 1∼n 中每个数的欧拉函数之和. 输入格式 共一行,包含一个整数 n. 输出格式 共一行,包含一个整数,表示 1∼n 中每个数的欧拉 ...

  4. AcWing 874. 筛法求欧拉函数

    线性筛法求解欧拉函数 有关线性筛法的介绍,可以参考这道题:868. 筛质数 - AcWing题库 这道题y总采用了线性筛选法来筛选掉指定范围内的合数,筛选出质数.思维利用得极为巧妙. 结合y总讲解视频 ...

  5. AcWing 874. 筛法求欧拉函数(欧拉函数)

    题目链接 https://www.acwing.com/problem/content/876/ 思路 对于一个数x如果是质数,那么它的欧拉函数就为x−1x-1x−1,对于其他合数我们可以将其拆成最小 ...

  6. ~~筛法求欧拉函数(附模板题)

    模板 int primes[N], cnt; // primes[]存储所有素数 int euler[N]; // 存储每个数的欧拉函数 bool st[N]; // st[x]存储x是否被筛掉voi ...

  7. 线性筛与欧拉函数、莫比乌斯函数

    网上关于素数筛的资料很多,这里只是给出弱鸟整理的几个线性筛和应用. 最朴素的素数筛--埃拉托斯特尼筛法(Sieve of Eratosthenes) 复杂度 Olognlogn int primes[ ...

  8. 欧拉线性筛 与 欧拉函数 + 几道例题

    欧拉线性筛 生成素数表prime[]数组 const int maxn = 1e7+5; int prime[maxn]; int visit[maxn]; void Prime(){memset(v ...

  9. 线性筛法 与 线性求欧拉函数 的计算模板

    简介 懂得如何快速计算质数是十分重要的 在筛法的基础上,我们可以使用更为高级的线性筛法! 顾名思义,就是时间复杂度是线性的,即 O(N)O(N) ,N 为所求的质数范围 而对编程有所接触的人,应该都知 ...

最新文章

  1. 返回content-length=0问题解决
  2. Logistic回归的自己推导
  3. c++ 12.一维数组冒泡排序
  4. Token注解防止表单的重复提交
  5. vs设置html的模板快
  6. 手写bind_一次搞定前端“四大手写”
  7. oracle jinitiator版本太旧,Windows7系统运行java软件提示Oracle JInitiator版本太旧怎么办...
  8. Python中的list/tuple/dict/set数据类型详解
  9. 洛谷——P1009 [NOIP1998 普及组] 阶乘之和
  10. [转载]函数getopt(),及其参数optind
  11. Rust : evmap库多读多写尝试
  12. POJ 1182 食物链
  13. J2Cache+Spring注入配置参数,无需读取固定路径下的j2cache.properties配置文件
  14. bandicom录屏音画不同步_bandicam录屏工具
  15. Ubuntu中如何安装安装QQ
  16. 文华学院大学计算机基础考试数据库ip,文华学院大学计算机基础模拟试卷
  17. oracle数据库经典练习题及答案
  18. C语言源代码系列-管理系统之会员计费系统
  19. linux下复制文件并重命名,Linux 批量复制并重命名 和 批量复制文件到多个文件夹...
  20. 标签平滑论文笔记:2020《When Does Label Smoothing Help?》

热门文章

  1. Opencv笔记(五)——把鼠标当画笔
  2. 中小型研发团队架构实践:高效率、低风险,一键发布并测试的持续集成工具Jenkins...
  3. 团队-象棋游戏-模块测试过程
  4. [LeetCode]: 53: Maximum Subarray
  5. 客户管理系统企业客户管理crm客户管理
  6. partial 分布类
  7. 06-02-测试 Office Online Server Updated 2018
  8. CISCO路由器产品配置手册
  9. M站开发规范——By Klax
  10. java基础-java反射机制