• uva 10006


    一题如此基础的题目,搞了那么久,晕。。。不过有很多细节错误自己改过来了,给自己鼓鼓掌^_^

    求幂的时候要用longlong型的,可是为什么啊?x的值根本就不可能比65000大啊,每次都取模啊,求反例。。。。。。

    还有判断素数要在前,刘汝佳先生说过&&是短路来着。。。。。。

    View Code
     1 #include <cstdio>
     2 #include <cstring>
     3 #include <cmath>
     4 
     5 int prime[65002];
     6 int n;
     7 
     8 void is_prime()
     9 {
    10     int m = sqrt(65001 + 0.5);
    11     memset(prime,0,sizeof(prime));
    12     prime[0] = prime[1] = -1;
    13     for(int i = 2;i <= m;i ++)//这里判断素数也挺快滴,也是刘汝佳先生的白皮书上滴。
    14     {
    15         if(!prime[i])
    16         {
    17             prime[i] = 1;
    18             for(int j = i*i;j <= 65001;j += i)
    19             {
    20                 prime[j] = -1;
    21             }
    22         }
    23     }
    24 }
    25 
    26 long long pow_mod(int a,int k,int m)//这个求幂挺快的logk,刘汝佳先生的那本白皮书上滴
    27 {
    28     if(k == 1)
    29         return (long long)a;
    30 
    31     long long x = pow_mod(a,k/2,m);
    32     long long ans = x * x % m;
    33     if(k % 2 == 1)
    34     {
    35         ans = ans * a % m;
    36     }
    37 
    38     return ans;
    39 }
    40 
    41 bool fermat(int k)
    42 {
    43     for(int i = 2;i < k;i ++)
    44     {
    45         if(pow_mod(i,k,k) != i)
    46             return false;
    47     }
    48 
    49     return true;
    50 }
    51 int main()
    52 {
    53     is_prime();
    54     while(scanf("%d",&n) == 1)
    55     {
    56         if(!n)
    57             break;
    58         if((prime[n] == -1)&&fermat(n))
    59         {
    60             printf("The number %d is a Carmichael number.\n",n);
    61         }
    62         else 
    63         {
    64             printf("%d is normal.\n",n);
    65         }
    66     }
    67 
    68     return 0;
    69 }
  • 相关阅读:
    使用Zabbix服务端本地邮箱账号发送报警邮件及指定报警邮件操作记录
    分布式监控系统Zabbix--完整安装记录 -添加web页面监控
    如何为你的代码选择一个开源协议
    Android多开/分身检测
    squid介绍及其简单配置
    PS 切图、抠图
    AxureRP8实战手册
    墨刀 vs Axure RP
    Android 插件化 开发
    《Photoshop智能手机APP界面设计》学习笔记-转
  • 原文地址:https://www.cnblogs.com/Shirlies/p/2446307.html
Copyright © 2020-2023  润新知