[POJ2407] Relatives
2017-01-17 15:09
260 查看
题目描述
给出一个正整数n,小于n且和n互素的正整数有多少个?两个整数称作是互素的,当且仅当不存在整数x>1,y>0,z>0,使得a=xy and b=xz。
输入格式
输入数据有多组,每组数据占一行,输入n(n<=10^9)。当n=0时结束。输出格式
对应每组输入数据,输出一行为相应的结果。样例数据
样例输入
712
0
样例输出
64
题目分析
求单个欧拉函数
源代码
#include<algorithm> #include<iostream> #include<iomanip> #include<cstring> #include<cstdlib> #include<vector> #include<cstdio> #include<cmath> #include<queue> using namespace std; inline const long long Get_Int() { long long num=0,bj=1; char x=getchar(); while(x<'0'||x>'9') { if(x=='-')bj=-1; x=getchar(); } while(x>='0'&&x<='9') { num=num*10+x-'0'; x=getchar(); } return num*bj; } int Euler_Phi(int n) { //求出n的欧拉函数 int ans=n; for(int i=2; i<=sqrt(n); i++) if(n%i==0) { ans=ans/i*(i-1); while(n%i==0)n/=i; } if(n>1)ans=ans/n*(n-1); return ans; } int main() { while(true) { int n=Get_Int(); if(n==0)break; printf("%d\n",Euler_Phi(n)); } return 0; }
相关文章推荐
- POJ2407:Relatives(欧拉函数)
- poj2407-Relatives
- poj2407-Relatives
- Relatives(poj2407)(求大数的欧拉函数模板题)
- [POJ2407]Relatives
- POJ2407_Relatives【欧拉phi函数】【基本】
- POJ2407 Relatives 容斥原理
- POJ2407-Relatives(欧拉函数裸题)
- POJ2407_Relatives_容斥原理
- 【欧拉函数】 poj2407 Relatives(裸欧拉函数)
- poj2407 Relatives
- POJ2407 Relatives(欧拉函数)
- Relatives【POJ2407】
- POJ2407 Relatives(欧拉函数)
- POJ2407 Relatives(欧拉函数)
- poj2407 Relatives ——欧拉函数入门题
- POJ2407---Relatives(求单个数的欧拉函数)
- poj2407 Relatives 欧拉函数基本应用
- poj2407 Relatives 欧拉函数基本应用
- poj2407 Relatives