• uva 10006 Carmichael Numbers


    题意:

    一个数n如果是合数并且满足对全部的 1 < x < n都有 x^(n) % n == x % n,那么这个数就是Carmichael Number。

    给出一个数,判断是否是这种数。

    思路:

    快速幂,nlogn。

    坑:

    埃氏筛预处理,要不然会超时;qp一定用long long,不用铁定会爆炸。

    代码:

     1 #include <stdio.h>
     2 
     3 int n;
     4 
     5 bool prime[65005];
     6 
     7 long long qp(int x,int p)
     8 {
     9     if (p == 0) return 1;
    10 
    11     long long ans = qp(x,p / 2) % n;
    12 
    13     ans = ans * ans % n;
    14 
    15     if (p & 1) ans = ans * x % n;
    16 
    17     return ans;
    18 }
    19 
    20 int main()
    21 {
    22     for (int i = 2;i <= 65000;i++)
    23     {
    24         if (!prime[i])
    25         {
    26             for (int j = i * 2;j <= 65000;j += i) prime[j] = 1;
    27         }
    28     }
    29 
    30     while (scanf("%d",&n) != EOF)
    31     {
    32         if (n == 0) break;
    33 
    34         bool f = 0;
    35 
    36         if (!prime[n])
    37         {
    38             printf("%d is normal.
    ",n);
    39             continue;
    40         }
    41 
    42         for (int i = 2;i < n;i++)
    43         {
    44             if (i % n != qp(i,n) % n)
    45             {
    46                 f = 1;
    47                 break;
    48             }
    49         }
    50 
    51         if (!f)printf("The number %d is a Carmichael number.
    ",n);
    52         else printf("%d is normal.
    ",n);
    53     }
    54 
    55     return 0;
    56 }
  • 相关阅读:
    一步一步CCNA之二:路由器特权模式
    uncompress bz2
    Protothreads Lightweight, Stackless Threads in C
    sohu的正版美剧都挺不错的
    Ebot crawler
    大数据时代的创新者们
    technology company
    slogan
    娱乐新闻都怎么搞的,真不给力啊
    售楼小姐比较漂亮
  • 原文地址:https://www.cnblogs.com/kickit/p/8034999.html
Copyright © 2020-2023  润新知