cojs 2181. 打表

★☆   输入文件:sendtable.in   输出文件:sendtable.out   简单对比
时间限制:1 s   内存限制:256 MB

【题目描述】

有一道比赛题目,输入两个整数x,y(1≤x,y≤n),输出某个函数f(x,y)。有位选手想打表(即事先计算出所有的f(x,y),写在源代码里),但是表太大了,原代码超过了比赛的限制,需要精简。

好在那道题目有一个性质,使得很容易根据f(x,y)算出f(x*k,y*k)(其中k是正整数),这样有一些f(x,y)就不需要存在表里了。

输入n(n≤50000),你的任务是统计最简的表里有多少个元素。例如,n=2时有3个(1,1),(1,2),(2,1)。

【输入格式】

输入只有一行,一个整数n;

【输出格式】

输出也仅有一行,即表里元素的个数。

【样例输入】

2

【样例输出】

3
 1 /*题目的要求可以这样理解,假设x<y求出小于y的所有与y互质的数的个数,这就是欧拉函数的定义了,然后因为x,y可以互换,所以最终的结果就是
 2 小于等于n,大于等于2的所有的数的欧拉函数*2+1(+1是因为有(1,1)这个情况)
 3 */
 4 #define N 50011
 5 #include<iostream>
 6 using namespace std;
 7 #include<cstdio>
 8 int phi[N+10]={0};
 9 int n;
10 void get_phi()/*定义法求欧拉函数*/
11 {
12     phi[1]=1;
13     for(int i=2;i<=N;++i)
14     {
15         if(!phi[i])
16         {
17             for(int j=i;j<=N;j+=i)
18             {
19                 if(!phi[j])
20                   phi[j]=j;
21                 phi[j]=phi[j]/i*(i-1);/*注意这里一定要先除后乘,因为它的定义中就是这样先进行除法,再进行减法*/
22             }
23         }
24     }
25 }
26 int main()
27 {
28     freopen("sendtable.in","r",stdin);
29     freopen("sendtable.out","w",stdout);
30     get_phi();
31     scanf("%d",&n);
32     long long ans=0;
33     for(int i=2;i<=n;++i)
34       ans+=phi[i];
35     cout<<(ans*2+1)<<endl;
36     fclose(stdin);fclose(stdout);
37     return 0;
38 }

转载于:https://www.cnblogs.com/c1299401227/p/5553061.html

欧拉函数 cojs 2181. 打表相关推荐

  1. 【欧拉函数】 欧拉函数计算及打表

    文章目录 一.欧拉函数简介 二.欧拉函数计算 三.欧拉函数值打表 四.练手题目 一.欧拉函数简介 在数论中,对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目(因此φ(1)=1).此函数以 ...

  2. POJ 2480 (约数+欧拉函数)

    题目链接: http://poj.org/problem?id=2480 题目大意:求Σgcd(i,n). 解题思路: 如果i与n互质,gcd(i,n)=1,且总和=欧拉函数phi(n). 如果i与n ...

  3. 欧拉函数/欧拉函数打表 lightoj1370(java/c++ )

    例题 欧拉函数/素数判定 题目链接 题目 Bamboo Pole-vault是Xzhiland的一项大受欢迎的运动. Phi-shoe大师是他成功的非常受欢迎的教练.他需要为他的学生提供一些竹子,所以 ...

  4. 筛表合集(素数筛 欧拉函数筛 莫比乌斯函数筛)

    [目录] 一.素数筛 1.素数判断 2.素数普通筛 3.素数线性筛 4.素数区间筛 二.欧拉函数筛 三.莫比乌斯函数筛 [素数筛] 1.直接判定质数 bool judgePrime( int num ...

  5. UVA11424 GCD - Extreme (I)【欧拉函数打表】

    Given the value of N, you will have to find the value of G. The definition of G is given below: G=∑i ...

  6. UVA10990 Another New Function【欧拉函数打表】

    The depth of phi value of a number is denoted by the number of steps required before it reaches 1. A ...

  7. UVa 10820 (打表、欧拉函数) Send a Table

    题意: 题目背景略去,将这道题很容易转化为,给出n求,n以内的有序数对(x, y)互素的对数. 分析: 问题还可以继续转化. 根据对称性,我们可以假设x<y,当x=y时,满足条件的只有(1, 1 ...

  8. 【数学专题】约数个数与欧拉函数

    整理的算法模板合集: ACM模板 目录 一.约数个数 1. AcWing 1291. 轻拍牛头 2. AcWing 1294. 樱花 2.1 AcWing 197. 阶乘分解 3. AcWing 19 ...

  9. 欧拉函数 - HDU1286

    欧拉函数的作用: 有[1,2.....n]这样一个集合,f(n)=这个集合中与n互质的元素的个数.欧拉函数描述了一些列与这个f(n)有关的一些性质,如下: 1.令p为一个素数,n = p ^ k,则 ...

最新文章

  1. 一定要加强SQL数据库SA
  2. python 显示RGB颜色
  3. 自定义控件:下拉刷新
  4. 第九届蓝桥杯java B组—第六题递增三元组(详细介绍)
  5. Android Studio 代码混淆
  6. linux集群时间同步搭建
  7. PM2怎么保持Node应用程序永久活动?
  8. cad vba 打开文件对话框_Excel VBA和文件夹-1.7通过对话框灵活选定文件夹并打开对应文件...
  9. 计算机端口详解(总结)
  10. LabVIEW编程LabVIEW开发Agilent 4294A 例程与相关资料
  11. ado全称_JDBC、ODBC、OLE DB、ADO、ADOMD区别与联系
  12. 计算机专业的可迁移技能,动词可迁移技能的发现.PPT
  13. [推荐系统]协同过滤介绍
  14. docker仓库——搭建registry私有仓库
  15. 误删除了linux的raid1,RAID管理与恢复误删除文件
  16. mtk8788 pwm频率及背光亮度调节
  17. 【英文版+中文版】2021年美国大学生数学建模赛题发布!!!
  18. jdk11中使用JavaFx
  19. 2020年环境经济学国际研讨会(EEC 2020)
  20. 02_平面转换 transform

热门文章

  1. 浅谈进程间的消息传递
  2. VC++ 读取和保存文件对话框及默认目录
  3. 后台运行python程序 遇到缓冲区问题
  4. mysql中的boolean tinyint
  5. [react-router] React-Router 4的switch有什么用?
  6. ant design datepicker处理日期范围操作
  7. [html] 当img标签中的src图片加载失败时,怎么让它变得更美观呢?
  8. [jQuery] 针对jQuery的优化方法有哪些?
  9. [html] 你有使用过ins标签吗?说说它的用途
  10. [vue] vue实例挂载的过程是什么?