设为首页 加入收藏

TOP

uva 10831 - Gerg's Cake(勒让德记号)
2015-11-21 01:57:26 来源: 作者: 【 】 浏览:5
Tags:uva 10831 Gerg' Cake 记号

题目链接:uva 10831 - Gerg's Cake

题目大意:给定a和p,p为素数,问说是否存在x,使得x2≡a%p

解题思路:勒让德记号,判断ap?12≡1%p

#include 
   
     #include 
    
      #include 
     
       using namespace std; typedef long long ll; ll pow_mod (ll a, ll n, ll mod) { ll ans = 1; while (n) { if (n&1) ans = ans * a % mod; a = a * a % mod; n /= 2; } return ans; } int legendre (ll a, ll p) { a %= p; if (a == 0) return 0; if (pow_mod(a, (p-1)/2, p) == 1) return 1; else return -1; } int main () { ll a, p; while (scanf("%lld%lld", &a, &p) == 2 && a != -1 && p != -1) { if (legendre(a, p) < 0) printf("No\n"); else printf("Yes\n"); } return 0; }
     
    
   
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇CodeForces 30C Shooting Gallery.. 下一篇hdu 1588 Gauss Fibonacci(矩阵..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: