POJ-2407 Relatives(容斥原理模板)
2016-08-13 10:59
393 查看
Default Relatives
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 Source Waterloo local 2002.07.01 求1到n-1里面与n互质的数的个数 #include <cstdio> #include <cstring> #include <cmath> #define LL long long #define MAX 10000000 using namespace std; int p[1000], k; void getp(int n) { int i, j; k = 0; for(i = 2; i*i <= n; i++) { if(n % i == 0) { p[k++] = i; while(n % i == 0) n /= i; } } if(n > 1) p[k++] = n; } int nop(int n) { int top = 0; int i, j, que[100000]; que[top++] = -1; for(i = 0; i < k; i++) { int t = top; for(j = 0; j < t; j++) que[top++] = que[j]*p[i]*(-1); } int sum = 0; for(i = 1; i < top; i++) sum += n/que[i]; return sum; } int main() { int n; while(scanf("%d", &n), n) { getp(n); printf("%d\n", n-nop(n)); } return 0; } |
相关文章推荐
- poj 2407 Relatives(欧拉函数模板)
- 数论 - 欧拉函数模板题 --- poj 2407 : Relatives
- poj 2407 Relatives(欧拉函数模板题)
- POJ-2407-Relatives(欧拉函数模板题)
- 数论 - 欧拉函数模板题 --- poj 2407 : Relatives
- POJ 2407 Relatives 【Euler模板(单个求)】
- POJ 2407-Relatives-欧拉函数
- POJ 2407 Relatives
- POJ_2407_relatives
- POJ 2407 Relatives(欧拉函数的应用)
- poj 2407 Relatives(欧拉函数)
- poj 2407 Relatives
- 数学/欧拉函数/sgu 102 Coprimes/poj 2407 Relatives
- poj 2407——Relatives
- [省选前题目整理][POJ 2407]Relatives(欧拉函数)
- POJ 2407 Relatives
- POJ 2407 Relatives 欧拉函数
- POJ-2407 Relatives 欧拉phi函数
- POJ 2407 Relatives 欧拉函数题解
- POJ 2407-Relatives(直接法求一个整数的欧拉函数值)