平方剩余 (poj 1808)

题意:

判断平方剩余,即判断(x^2)%p=a是否有解。

限制:

|a| <= 1e9 && a % p !=0; 2 < p < 1e9 && p为奇素数。

思路:

用欧拉准则计算勒让德符号(用来判断平方剩余)

代码,内含求平方剩余的解函数

时间: 2024-08-29 08:05:02

平方剩余 (poj 1808)的相关文章

poj 1808 Quadratic Residues 【平方剩余】【数论】

题目链接:http://poj.org/problem?id=1808 题目大意:给你T组数据,每组数据一个a一个n,判断 x^2  ≡  a ( mod  n ) 能否成立.成立则输出1否则输出-1. 一个简单的平方剩余,只用判断能否有解即可. #include<stdio.h> #define LL long long LL pow_mod(LL a, LL n, LL mod) { LL res = 1; while(n) { if (n & 1) res = res * a %

POJ 1808 + Ural 1132 平方剩余

链接:http://poj.org/problem?id=1808 http://acm.timus.ru/problem.aspx?space=1&num=1132 题意:两道题都是模板题,第一个是判断是否有平方剩余,第二个是计算平方剩余. 思路:平方剩余就是给定a,n(n为质数) 问 x^2 ≡ a (mod n) 是否有解,可以用a^((n - 1)/2) ≡ ±1(mod n) 当为1是二次剩余,为-1是非二次剩余. 资料:http://blog.csdn.net/acdreamers/

平方剩余

平方剩余 POJ:1808 链接:http://poj.org/problem?id=1808 题意:给定a,n(n为质数) 问 x^2 ≡ a (mod n) 是否有解 可以用a^((n - 1)/2) ≡ ±1(mod n) 当为1是二次剩余,为-1是非二次剩余 但上述方法仅仅是判断是否有解,下面的方法能够求最小整数解 Ural(Timus) 1132 链接: http://acm.timus.ru/problem.aspx?space=1&num=1132 题意:给定a,n(n为质数) 问

POJ 2420 模拟退火

链接: http://poj.org/problem?id=2420 题意: 给出n个点,找到一个点,使得它到所有的点的距离最小. 题解: 最近要做一个排课系统,需要用到模拟退火算法,之前虽然了解过这个算法,但是没有写过题.就先在POJ上找了一道学习一下. 代码: 1 #include <iomanip> 2 struct Point { double x, y; }; 3 4 const double eps = 1e-8; //搜索条件阀值 5 const double T = 100;

POJ 3421 素数+组合数学

X-factor Chains Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5741   Accepted: 1808 Description Given a positive integer X, an X-factor chain of length m is a sequence of integers, 1 = X0, X1, X2, …, Xm = X satisfying Xi < Xi+1 and Xi 

ACM训练方案-POJ题目分类

ACM训练方案-POJ题目分类 博客分类: 算法 ACM online Judge 中国: 浙江大学(ZJU):http://acm.zju.edu.cn/ 北京大学(PKU):http://acm.pku.edu.cn/JudgeOnline/ 杭州电子科技大学(HDU):http://acm.hdu.edu.cn/ 中国科技大学(USTC):http://acm.ustc.edu.cn/ 北京航天航空大学(BUAA)http://acm.buaa.edu.cn/oj/index.php 南京

转载:poj题目分类(侵删)

转载:from: POJ:http://blog.csdn.net/qq_28236309/article/details/47818407 按照ac的代码长度分类(主要参考最短代码和自己写的代码) 短代码:0.01K–0.50K:中短代码:0.51K–1.00K:中等代码量:1.01K–2.00K:长代码:2.01K以上. 短:1147.1163.1922.2211.2215.2229.2232.2234.2242.2245.2262.2301.2309.2313.2334.2346.2348

POJ - 3186 Treats for the Cows (区间DP)

题目链接:http://poj.org/problem?id=3186 题意:给定一组序列,取n次,每次可以取序列最前面的数或最后面的数,第n次出来就乘n,然后求和的最大值. 题解:用dp[i][j]表示i~j区间和的最大值,然后根据这个状态可以从删前和删后转移过来,推出状态转移方程: dp[i][j]=max(dp[i+1][j]+value[i]*k,dp[i][j-1]+value[j]*k) 1 #include <iostream> 2 #include <algorithm&

POJ 2533 - Longest Ordered Subsequence(最长上升子序列) 题解

此文为博主原创题解,转载时请通知博主,并把原文链接放在正文醒目位置. 题目链接:http://poj.org/problem?id=2533 Description A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let the subsequence of the given numeric sequence (a1, a2, ..., aN) be any sequence (ai1, ai2, ..., aiK)