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)
  • 相关阅读:
    my first android test
    VVVVVVVVVV
    my first android test
    my first android test
    my first android test
    ini文件
    ZZZZ
    Standard Exception Classes in Python 1.5
    Python Module of the Week Python Module of the Week
    my first android test
  • 原文地址:https://www.cnblogs.com/h-hkai/p/8735159.html
Copyright © 2011-2022 走看看