zoukankan      html  css  js  c++  java
  • POJ2407(欧拉函数)

    Relatives
    Time Limit: 1000MS   Memory Limit: 65536K
    Total Submissions: 13693   Accepted: 6834

    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

    欧拉函数入门。
    #include <cstdio>
    using namespace std;
    int euler(int n)
    {
        int ret=n;
        for(int i=2;i*i<=n;i++)
        {
            if(n%i==0)
            {
                ret=ret-ret/i;
                while(n%i==0)    n/=i;
                    
            }
        }
        if(n>1)    ret=ret-ret/n;
        return ret;
    }
    int main()
    {
        int n;
        while(scanf("%d",&n)!=EOF&&n!=0)
        {
            int res=euler(n);
            printf("%d
    ",res);
        }
        return 0;
    }
    
    
    
  • 相关阅读:
    DRF
    DRF
    DRF
    DRF
    DRF
    DRF
    DRF
    Mongo错误记录:MongoClient opened before fork. Create MongoClient
    Hive默认分隔符和默认NULL值
    hdfs文件格式比较
  • 原文地址:https://www.cnblogs.com/program-ccc/p/5848886.html
Copyright © 2011-2022 走看看