51Nod-1136-欧拉函数
来源:互联网 发布:印度经济增长率知乎 编辑:程序博客网 时间:2024/05/21 09:20
ACM模版
描述
对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler’s totient function、φ函数、欧拉商数等。例如:φ(8) = 4(Phi(8) = 4),因为1,3,5,7均和8互质。
Input
输入一个数N。(2 <= N <= 10^9)
Output
输出Phi(n)。
Input示例
8
Output示例
4
题解
因为2 <= N <= 10^9,所以需要用到公式直接单独求解。
代码
#include <iostream>#include <cmath>using namespace std;long long euler(long long x){ long long i, res = x; for (i = 2; i < (int)sqrt(x * 1.0) + 1; i++) { if (!(x % i)) { res = res / i * (i - 1); while (!(x % i)) { x /= i; // 保证i一定是素数 } } } if (x > 1) { res = res / x * (x - 1); } return res;}int main(int argc, const char * argv[]){ long long N; while (cin >> N) { cout << euler(N) << '\n'; } return 0;}
参考
欧拉函数PHI
0 0
- 51Nod-1136-欧拉函数
- 51nod - 1136 欧拉函数(欧拉函数)
- 51nod 1136 欧拉函数(欧拉函数)
- 51nod 1136 欧拉函数
- 51nod 1136 欧拉函数
- 51NOD 1136 欧拉函数模板
- 51nod 1136 欧拉函数
- 51nod-1136 欧拉函数
- 51nod 1136 欧拉函数
- 51nod-【1136 欧拉函数】
- 51nod-【1136 欧拉函数】
- 51Nod 1136 欧拉函数
- [51nod 1136 欧拉函数]
- 51Nod-1136 欧拉函数【数论】
- 51nod 1136 欧拉函数 【模板 】
- 51nod 1136 欧拉函数【数论】
- 51Nod-1136-欧拉函数
- 51Nod 1136 欧拉函数
- SQL
- 山东理工OJ 2077 迷瘴
- XML增删改查
- 使用VirtualKD构建双机调试
- Python(四):数字连珠2
- 51Nod-1136-欧拉函数
- Git 常用命令用法:程序员的场景
- 字符串匹配的Boyer-Moore算法
- [LeetCode] 53. Maximum Subarray
- centos 6.6 FTP服务器的搭建
- java.util.ConcurrentModificationException异常分析
- ios-Foundation框架
- 北极星电力网招聘 .NET开发工程师
- CASE WHEN ELSE END 用法