码迷,mamicode.com
首页 > 其他好文 > 详细

hdu1905 Pseudoprime numbers

时间:2014-11-19 11:18:27      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:hdu   简单数学题   

快速幂;

#include<math.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int prime(const int p)
{
    for(int i=3; i*i<=p; i++)
        if(p%i==0)
            return 0;
    return 1;
}
int power(const int a,const int p)
{
    long long res=1,n=p,ta=a;
    while(n)
    {
        if(n&1)
            res=res*ta%p;
        ta=ta*ta%p;
        n=n>>1;
    }
    return res;
}
int main(void)
{
    int a,p;
    while(scanf("%d%d",&p,&a),a&&p)
    {
        if(prime(p))
            printf("no\n");
        else
        {

            if(power(a,p)==a)
                printf("yes\n");
            else
                printf("no\n");
        }
    }
    return 0;
}


hdu1905 Pseudoprime numbers

标签:hdu   简单数学题   

原文地址:http://blog.csdn.net/loolu5/article/details/41256893

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!