题意:判断a+b*sqrt(-2)是否为素数
解法:参考高斯素数的定义即判断方法
http://zh.wikipedia.org/wiki/高斯整數
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
#define y1 y11
#define mem(a,b) memset(a,sizeof(a),b)
using namespace std;
typedef long long ll;
int n,a,b;
bool is_prime(int x){
for(int i=;i*i<=x;i++){
if(x%i==) return false;
}
return true;
}
int main(){
scanf("%d",&n);
bool flag;
while(n--){
scanf("%d%d",&a,&b);
if(a!=&&is_prime(a*a+*b*b)) flag=true;
else flag=false;
if(flag) printf("Yes\n");
else printf("No\n");
}
}