游客 Signup | Login
中文 | En

1797 - 素数判断问题

给定一个非负整数,判断它是否为素数。

Input

第一行输入一个数N,表示有N组测试数据。

后面的N行输入多组数据,每组输入数据都是占一行。

Output

输出Yes或者No,占一行

Examples

Input

4
1
2
3
4

Output

No
Yes
Yes
No

Hint

记得考虑特殊数据。

Solution C

#include <stdio.h>
int main(){
    int a, n, i, f;
    scanf("%d", &n);
    while(n--){
        scanf("%d", &a);
        f= a==1?0:1;
        for(i = 2; i*i <= a; i++){
            if(a%i==0 && a!=2){
                f=0;
                break;
            }
        }
        printf("%s\n", f?"Yes":"No");
    }
    return 0;
}

Solution C++

#include<stdio.h>
#include<math.h>
int main()
{
	int i,j,count;
	scanf("%d",&count);
	while(count--)
	{
	scanf("%d",&i);
	if(i<0)break;
	for(j=2;j<=sqrt(i);j++)
		if(i%j==0)break;
    if(i==1||i==0)printf("No\n");
	else if(j>sqrt(i))  printf("Yes\n");
	else printf("No\n");
	}
	return 0;
}

Hint

记得考虑特殊数据。

Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题