数论之求欧拉函数
2011-09-24 09:10
357 查看
简单的求欧拉函数的值,留下来做个模板。。。。。。。。。。
题目:
Given n, a positive integer, how many positive integers less than n are relatively prime to n? Two integers a and b are relatively prime if there are no integers x > 1, y > 0, z > 0 such that a = xy and b = xz.
Input
There are several test cases. For each test case, standard input contains a line with n <= 1,000,000,000. A line containing 0 follows the last case.
Output
For each test case there should be single line of output answering the question posed above.
Sample Input
Sample Output
ac代码:
题目:
Given n, a positive integer, how many positive integers less than n are relatively prime to n? Two integers a and b are relatively prime if there are no integers x > 1, y > 0, z > 0 such that a = xy and b = xz.
Input
There are several test cases. For each test case, standard input contains a line with n <= 1,000,000,000. A line containing 0 follows the last case.
Output
For each test case there should be single line of output answering the question posed above.
Sample Input
7 12 0
Sample Output
6 4
ac代码:
#include <iostream> #include <cstdio> #include <cmath> using namespace std; long long euler(long long y){ int m=(int)sqrt(y+0.5); int ans=y; for(int i=2;i<=m;++i){ if(y%i==0){ ans=ans/i*(i-1); while(y%i==0) y/=i; } } if(y>1) ans=ans/y*(y-1); return ans; } int main() { long long n; while(cin>>n&&n){ long long x=euler(n); cout<<x<<endl; } }
相关文章推荐
- 51NOD 1040 1040 最大公约数之和 数论 欧拉函数
- Codeforces 776E: The Holmes Children (数论 欧拉函数)
- 数论 - 欧拉函数的运用 --- poj 3090 : Visible Lattice Points
- HDU 4002 Find the maximum(数论-欧拉函数)
- GCD - Extreme (II) UVA - 11426 (数论,gcd,欧拉函数)题解
- HDU 2588 数论 欧拉函数
- hihocoder第九十六周 数论五·欧拉函数
- 数论(基础欧拉函数)
- 数论学习_欧拉函数
- 【数论】用类似筛法的方法计算一段欧拉函数值
- 数论基础_欧拉函数
- 数论学习笔记之欧拉函数
- hdu 1695 综合数论 欧拉函数 分解质因子 容斥原理 打印素数表 帅呆了的一个题目 详解
- POJ2407 ZOJ1906 UVA10229 Relatives【欧拉函数+数论】
- 【数论】欧拉函数
- 洛谷 2158 数论 打表 欧拉函数
- hd 3609数论 快速幂 欧拉函数 迭代 递归
- HDU 4002 Find the maximum(数论-欧拉函数)
- poj 2773 Happy 2006(数论:欧拉函数)
- BZOJ 4805 欧拉函数求和 数论