游客 Signup | Login
中文 | En

1383 - 素数判定

给定一个数n,要求判断其是否为素数(0,1,负数都是非素数)。

Input

测试数据有多组,每组输入一个数n。

Output

对于每组输入,若是素数则输出yes,否则输入no。

Examples

Input

13

Output

yes

Solution C

#include<stdio.h>
#include<math.h>
int main()
{
	int a,i,flag;
	while(scanf("%d",&a)!=EOF)
	{
		flag=1;
		for(i=2;i<=(int)sqrt(a);i++)
			if(a%i==0)flag=0;
		if(flag&&a>=2)printf("yes\n");
		else printf("no\n");
	}
	return 0;
}

Solution C++

#include <stdio.h>
#include <math.h>

bool isPrime(int n){
    if(n <= 1){
        return false;
    }
    int len = (int)sqrt((double) n);
    for(int i=2; i<=len; i++){
        if(n%i == 0){
            return false;
        }
    }

    return true;
}

int main(){
    int n;
    while(scanf("%d", &n) != EOF){
        puts(isPrime(n) ? "yes" : "no");
    }

    return 0;
}

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