基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题
![](http://file.51nod.com/images/icon/star.png)
![](http://file.51nod.com/images/icon/plus.png)
X*X mod P = A,其中P为质数。给出P和A,求<=P的所有X。
Input
两个数P A,中间用空格隔开。(1 <= A < P <= 1000000, P为质数)
Output
输出符合条件的X,且0 <= X <= P,如果有多个,按照升序排列,中间用空格隔开。
如果没有符合条件的X,输出:No Solution
Input示例
13 3
Output示例
4 9
数据很小,直接暴力过.
1 #include <bits/stdc++.h> 2 #define ll long long int 3 using namespace std; 4 int main(){ 5 ll n,m; 6 bool prime=true; 7 scanf("%d%d",&n,&m); 8 for(ll i=0;i<n;i++){ 9 ll sum=i*i%n; 10 if(sum==m){ 11 prime=false; 12 printf("%lld ",i); 13 } 14 } 15 if(prime) 16 printf("No Solution"); 17 printf("\n"); 18 return 0; 19 }