zoukankan      html  css  js  c++  java
  • Relatives(容斥)

    Relatives
    Time Limit: 1000MS   Memory Limit: 65536K
    Total Submissions: 15708   Accepted: 7966

    Description

    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

    题解:通过这道题了解到了欧拉函数

    欧拉函数可以求出小于n的质因数,则这题可以通过公式φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数。φ(1)=1(唯一和1互质的数就是1本身)。来求解。例如:

    12=2*2*3 

    那么φ(12)=12*(1-1/2)*(1-1/3)=4)

    AC代码:

     1 #include<iostream>
     2 #include<algorithm>
     3 using namespace std;
     4 
     5 int ans;
     6 
     7 void solve(int x)
     8 {
     9     ans = x;
    10     int ant = 0;
    11     for(int i = 2; i*i < x; i++)
    12     {
    13         if(x%i == 0)
    14         {
    15             ans = ans / i * (i - 1);
    16         }
    17         while(x%i == 0) x /= i;
    18     }
    19 
    20     if(x > 1)
    21         ans = ans/x*(x-1);
    22 }
    23 
    24 int main()
    25 {
    26     int n;
    27     while(1)
    28     {
    29         cin >> n;
    30         if(n == 0)
    31             break;
    32         solve(n);
    33         cout << ans << endl;
    34     }
    35 
    36 
    37     return 0;
    38 }
    永远渴望,大智若愚(stay hungry, stay foolish)
  • 相关阅读:
    [leetcode] LRU Cache @ Python
    [leetcode]Swap Nodes in Pairs @ Python
    [leetcode]Add Two Numbers @ Python
    [leetcode]Candy @ Python
    [leetcode]Gas Station @ Python
    [leetcode]Plus One @ Python
    接口测试-压力-Jmeter继续使用
    移动互联网应用测试,推荐两本书
    Android dumpsys 内存分析
    内存泄露分析之MAT工具简单使用
  • 原文地址:https://www.cnblogs.com/h-hkai/p/8735159.html
Copyright © 2011-2022 走看看