HDU 1787 简单的求欧拉函数 POJ 2047 裸欧拉函数
2012-11-23 17:36
344 查看
HDU 1787题目好水,题目意思要你求最大公约数大于1的个数..
#include<iostream>
#include<cmath>
using namespace std;
int euler(int n){ /// 把公式翻译成代码就行了..
int sum=1;
for(int i=2;i*i<=n;i++){
int a=0;
if(n%i==0){
while(n%i==0){
n /= i;
a++;
}
}
if(a){
sum = sum * (i-1) * (int)pow(i*1.0,a-1);
}
}
if(n>1) sum *= (n-1);
return sum;
}
int main (){
int n;
while(cin>>n,n){
int sum=0;
sum=euler(n);
cout<<n-sum-1<<endl;
}
}
POJ 2047 裸欧拉函数
#include<iostream>
#include<cmath>
using namespace std;
int oula(int n){
int num=1;
for(int i=2;i*i<=n;i++){
int k=0;
if(n%i==0){
while(n%i==0){
k++;
n /= i;
}
}
if(k){
num=num*(i-1)*(int)pow(i*1.0,k-1);
}
}
if(n>1) num *= (n-1);
cout<<num<<endl;
}
int main(){
int m;
while(cin>>m,m){
oula(m);
}
}
#include<iostream>
#include<cmath>
using namespace std;
int euler(int n){ /// 把公式翻译成代码就行了..
int sum=1;
for(int i=2;i*i<=n;i++){
int a=0;
if(n%i==0){
while(n%i==0){
n /= i;
a++;
}
}
if(a){
sum = sum * (i-1) * (int)pow(i*1.0,a-1);
}
}
if(n>1) sum *= (n-1);
return sum;
}
int main (){
int n;
while(cin>>n,n){
int sum=0;
sum=euler(n);
cout<<n-sum-1<<endl;
}
}
POJ 2047 裸欧拉函数
#include<iostream>
#include<cmath>
using namespace std;
int oula(int n){
int num=1;
for(int i=2;i*i<=n;i++){
int k=0;
if(n%i==0){
while(n%i==0){
k++;
n /= i;
}
}
if(k){
num=num*(i-1)*(int)pow(i*1.0,k-1);
}
}
if(n>1) num *= (n-1);
cout<<num<<endl;
}
int main(){
int m;
while(cin>>m,m){
oula(m);
}
}
相关文章推荐
- HDU 1787(欧拉函数)
- HDU 1787 欧拉函数
- HDU-1068 &&POJ-1466 Girls and Boys 简单二分图匹配
- 欧拉函数 & 【POJ】2478 Farey Sequence & 【HDU】2824 The Euler function
- 并查集总结【模板】 例题:①简单POJ - 1611 The Suspects ②一般HDU - 1272 小希的迷宫
- hdu 1787 GCD Again 欧拉函数
- POJ 1573 && hdu 1035(简单模拟)
- (hdu step 2.1.6)找新朋友(欧拉函数的简单使用:求与n互质的元素的个数)
- poj 1517 & hdu 1012 u Calculate e(简单阶乘)
- POJ 2348& HDU 2147&HDU 1846&POJ 1067&HDU 1850 简单的博弈
- POJ 2047 Relatives 欧拉函数
- HDU 1787 GCD Again (欧拉函数)
- GCD Again HDU - 1787 (欧拉函数 or 容斥原理)
- (hdu step 7.2.2)GCD Again(欧拉函数的简单应用——求[1,n)中与n不互质的元素的个数)
- 求单个欧拉函数模板,HDU 1787
- HDU 1787 GCD Again (欧拉函数)
- 简单搜索练习(一)二分入门 HDU 2141 Can you find it?POJ 2785 4 Value whose Sum is 0
- HDU 1787 GCD Again 欧拉函数
- HDU 3422, POJ 1305简单的本原勾股数组
- HDU 1787 GCD Again(欧拉函数,水题)