UVa 10299 :Relatives 欧拉函数
来源:互联网 发布:天宝无人机info软件 编辑:程序博客网 时间:2024/05/16 11:24
题目:
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
题目大意:输入n,求出1到n(包括n)中与n互质的整数的个数,注意当n=1时,结果为0
解题方法:欧拉函数
欧拉函数的定义:
欧拉函数是少于或等于n的数中与n互质的数的数目,计算公式为
euler(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…(1-1/pn)
其中p1,p2……pn为x的所有素因数,x是不为0的整数。
#include<iostream>//using namespace std;int euler(int n){//欧拉函数的实现 int ans=n,i; if(n==1){ return ans==0; } for(i=2;i*i<=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() { int n; while(cin>>n&&n!=0){ cout<<euler(n)<<endl; } return 0; }
0 0
- POJ 2407 Relatives && UVA 10299 Relatives(欧拉函数)
- UVa 10299 :Relatives 欧拉函数
- UVA 10299 Relatives(欧拉函数)
- uva-10299-Relatives-(欧拉函数)
- Relatives 【欧拉函数】
- Relatives---欧拉函数
- 1874: Relatives欧拉函数
- Relatives 欧拉函数基础
- POJ2407:Relatives(欧拉函数)
- zoj1906,Relatives 欧拉函数
- POJ2407 Relatives(欧拉函数)
- POJ 2407 Relatives 欧拉函数
- 欧拉函数的应用&&Relatives
- POJ 2407 Relatives 欧拉函数
- POJ 2047 Relatives 欧拉函数
- (欧拉函数) Relatives (P2407)
- 欧拉函数 模板题 POJ2407 Relatives
- poj 2407 Relatives(欧拉函数)
- js柯里化
- 347. Top K Frequent Elements
- [Gradle]org.gradle.tooling.GradleConnectionException: Could not install Gradle distribution from 'h
- 27. Remove Element
- Python入门
- UVa 10299 :Relatives 欧拉函数
- iOS使用Object-C自定义cordova插件(-)
- glib交叉编译
- 复合数据类型
- Swift 单例
- bootstrap 模态框 遮住了 ueditor 编辑器的表情框
- 自定义ViewPagerIndicater
- 完全认识计算机网络之TCP/IP
- 猫都能学会的Unity3D Shader入门指南(二)