zoukankan      html  css  js  c++  java
  • POJ 2407Relatives

    Relatives
    Time Limit: 1000MS   Memory Limit: 65536K
    Total Submissions: 15566   Accepted: 7900

    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$,求出$varphi left( n ight)$
    直接套公式。
    $varphi left( n ight) =nprod ^{k}_{i=1}left( dfrac {p_{i}-1}{p_{i}} ight)$
    注意先除再乘,否则会爆精度
     
    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<cstring>
    #define LL long long 
    using namespace std;
    int main()
    {
        LL N;
        while(cin>>N&&N!=0)
        {
            int limit=sqrt(N),ans=N;
            for(int i = 2; i <= limit ; ++i)
            {
                if(N%i==0) ans=ans/i*(i-1);
                while(N%i==0) N=N/i;
            }
            if(N>1) ans=ans/N*(N-1);
            printf("%d
    ",ans);
        }
        return 0;
    }
     
     
     
  • 相关阅读:
    Python开发之路
    openstack系列阅读目录
    linux基础
    PEP8规范
    我真的还是18岁的那个我
    为什么很多IT公司不喜欢进过培训机构的人呢?
    GRE与VXLAN
    VLAN模式
    网络虚拟化基础一:linux名称空间Namespaces
    四:OVS+GRE之网络节点
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/8364820.html
Copyright © 2011-2022 走看看