题干:

在数论中,对正整数 nn,欧拉函数 \varphi (n)φ(n) 是小于等于 nn 的正整数中与 nn 互质的数的数目。

例如 \varphi (12)=4φ(12)=4,因为 1,5,7,111,5,7,11 均和 1212 互质。

代码框中的代码是一种求欧拉函数的实现,请分析并填写缺失的代码,计算出 \varphi(n)φ(n) 的值。

提示:若 n=p_{1}^}p_{2}^}\cdots p_{r}^},则 \varphi (n)=\prod _1^{r}p_{i}^(p_{i}-1)φ(n)=∏1r​pi(​pi​−1)。

样例输入复制

样例输出复制

解题报告:

就是个欧拉函数。

AC代码:

#include <iostream>
using namespace std;
int euler(int n) {int res = n;for (int i = 2; i <= n; i++) {if (n % i == 0) {res = res/i*(i-1);while (n % i == 0) {n /= i;}}}return res;
}
int main() {int n;cin >> n;cout << euler(n) << endl;return 0;
}

对于欧拉函数,显然我们也可以这样求解:

int E(int x)
{int ans = x;for(int i = 2; i <= sqrt(x); i++){if(x % i == 0) ans=ans-ans/i;while(x%i == 0) x/=i;} if(x != 1) ans=ans-ans/x;return ans;
}

【计蒜客 - 蓝桥训练】欧拉函数(数学,数论,模板)相关推荐

  1. 【计蒜客 - 蓝桥训练】蒜厂年会(单调队列优化dp,循环数列的最大子段和)

    题干: 在蒜厂年会上有一个抽奖,在一个环形的桌子上,有 nn 个纸团,每个纸团上写一个数字,表示你可以获得多少蒜币.但是这个游戏比较坑,里面竟然有负数,表示你要支付多少蒜币.因为这些数字都是可见的,所 ...

  2. 【计蒜客 - 蓝桥训练】阶乘位数(数学,对数运算,求阶乘位数)

    题干: 蒜头君对阶乘产生了兴趣,他列出了前 1010 个正整数的阶乘以及对应位数的表: nn n!n! 位数 1 1 1 2 2 1 3 6 1 4 24 2 5 120 3 6 720 3 7 50 ...

  3. 【计蒜客 - 蓝桥训练】修建公路(贪心,或运算,dp)

    题干: 蒜头国有 nn 座城市,编号分别为 0,1,2,3,\ldots,n-10,1,2,3,-,n−1.编号为 xx 和 yy 的两座城市之间如果要修高速公路,必须花费 x|yx∣y 个金币,其中 ...

  4. *【计蒜客 - 蓝桥训练】人以群分(二分 + dp)

    题干: 某班有 nn 个同学,每个同学有一个外向程度 a_iai​.由于要进行某个活动,需要把他们分成若干个小组,每个小组的人数至少为 mm 人.不同外向程度的人在一个小组会产生不开心值,定义一个小组 ...

  5. 【计蒜客 - 蓝桥训练】炮台实验(数学期望,期望dp)

    题干: 蒜头君在玩一个战争模拟游戏,他有高度为 1,2,3,\ldots ,n1,2,3,-,n 的炮台各一个,他需要把这 nn 个炮台从左往右排成一行,并且炮口都朝向右边. 在这个游戏中,所有炮台发 ...

  6. 【计蒜客 - 蓝桥训练】轻重搭配(贪心,STLset 或 二分)

    题干: n 个同学去动物园参观,原本每人都需要买一张门票,但售票处推出了一个优惠活动,一个体重为 xx 的人可以和体重至少为 2x2x 配对,这样两人只需买一张票.现在给出了 nn 个人的体重,请你计 ...

  7. 牛客小白月赛12 D 月月给华华出题 (欧拉函数,数论,线筛)

    链接:https://ac.nowcoder.com/acm/contest/392/D 来源:牛客网 月月给华华出题 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 131072K, ...

  8. [计蒜客(蓝桥杯省赛)]蒜头君的购物袋2

    题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛) 算法标签 DP 题目描述 思路 01背包模板 题目代码 #include<iostream> #include<climits> ...

  9. 51Nod-1136 欧拉函数【数论】

    1136 欧拉函数 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为Eu ...

最新文章

  1. HDU4160(最小路径覆盖问题)
  2. “Query结构化分析及槽位填充” byte dance NLP lambda在线讲的不错的
  3. android开发 eclipse alt+”/”自动提示失效
  4. 请求发起过程,在tcp/ip四层网络模型中所做的事情
  5. Gensim初步使用和详细解释(该代码只能处理英文,处理中文不可用该代码)
  6. [ZJOI2011]营救皮卡丘(费用流 + 最短路)
  7. JS 基础知识点及常考面试题(一)
  8. Linux内核深入理解中断和异常(7):中断下半部:Softirq, Tasklets and Workqueues
  9. ffmpeg 源代码简单分析 : av_read_frame()
  10. C的|、||、、、异或、~、!运算
  11. android studio httpclient包导入,HttpClient不会导入Android Studio
  12. java动态规划凑硬币问题_动态规划 凑硬币问题
  13. svg格鲁特动画代码
  14. 【风马一族_Android】 图能
  15. PPT中含图片太大,需压缩
  16. php创作原声,抖音这是发小哥哥的唯一号创作的原声什么歌 I keep saying no歌曲分享...
  17. 速腾激光雷达 xavier环境驱动配置踩坑记录
  18. Artifactory的搭建与使用简介
  19. Mac终端常用命令及报错处理
  20. 我的sulley安装过程

热门文章

  1. leetcode之回溯backtracing专题2
  2. [剑指offer][JAVA][面试题第13题][机器人的运动][DFS][BFS]
  3. 835. Trie字符串统计
  4. python脚本之家 包的创建和调用_python基础之包的导入和__init__.py的介绍
  5. 如何修改emcp的sn号_百家号领域选择错误怎么办?百家号怎么更改领域?
  6. linux更改cxxflags环境变量,在64位的ubuntu 14.04 上开展32位Qt 程序开发环境配置(pro文件中增加 QMAKE_CXXFLAGS += -m32 命令)...
  7. mysql sql执行过程_MySQL探秘(二):SQL语句执行过程详解
  8. V210调整根分区大小
  9. bbb sdk6 ll_rw_block分析
  10. Windows Embedded CE 6.0开发初体验(二)CE开发环境