zoukankan      html  css  js  c++  java
  • poj1284 Primitive Roots

    Primitive Roots
    Time Limit: 1000MS   Memory Limit: 10000K
    Total Submissions: 4775   Accepted: 2827

    Description

    We say that integer x, 0 < x < p, is a primitive root modulo odd prime p if and only if the set { (xi mod p) | 1 <= i <= p-1 } is equal to { 1, ..., p-1 }. For example, the consecutive powers of 3 modulo 7 are 3, 2, 6, 4, 5, 1, and thus 3 is a primitive root modulo 7.
    Write a program which given any odd prime 3 <= p < 65536 outputs the number of primitive roots modulo p.

    Input

    Each line of the input contains an odd prime numbers p. Input is terminated by the end-of-file seperator.

    Output

    For each p, print a single number that gives the number of primitive roots in a single line.

    Sample Input

    23
    31
    79
    

    Sample Output

    10
    8
    24
    

    Source

    题目大意:求n的原根个数.
    分析:结论题,n的原根个数=φ(φ(n)).
    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    
    using namespace std;
    
    int n,phi[70000],prime[70000],tot,vis[70000];
    
    void init()
    {
        phi[1] = 1;
        for (int i = 2; i <= 70000; i++)
        {
            if (!vis[i])
            {
                prime[++tot] = i;
                phi[i] = i - 1;
            }
            for (int j = 1; j <= tot; j++)
            {
                int t = prime[j] * i;
                if (t > 70000)
                    break;
                vis[t] = 1;
                if (i % prime[j] == 0)
                {
                    phi[t] = phi[i] * prime[j];
                    break;
                }
                phi[t] = phi[i] * (prime[j] - 1);
            }
        }
    }
    
    int main()
    {
        init();
        while (scanf("%d",&n) != EOF)
            printf("%d
    ",phi[n - 1]);
    
    }
  • 相关阅读:
    25-k个一组翻转链表 203-移除链表元素 206-反转一个链表
    24. 两两交换链表中的节点
    23-合并K个升序链表
    19-删除链表的倒数第N个节点
    18-四数之和
    21-合并两个有序链表
    双指针
    16-最接近的三数之和
    15-三数之和
    RobotFramework 断言关键字
  • 原文地址:https://www.cnblogs.com/zbtrs/p/8082404.html
Copyright © 2011-2022 走看看