题目1047:素数判定

题目1047:素数判定

时间限制:1 秒

内存限制:32 兆

特殊判题:

题目描述:

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

输入:

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

输出:

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

样例输入:
13
样例输出:
yes
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<stack>
#include<math.h>
using namespace std;


bool judge(int x)
{
    if(x<=1)
        return false;
    int bound = (int)(sqrt(x)+1); //先计算出来,可以节约时间。加1是为了防止sqrt函数使精度缺失
    for(int i=2; i<bound; i++)
    {
        if(x%i==0)
            return false;
    }
    return true;
}
int main()
{
    int x;
    while(scanf("%d",&x)!=EOF)
    {
        puts(judge(x)? "yes":"no");
    }
    return 0;
}

 

posted @ 2016-08-05 13:25  多思考&&多动手  阅读(187)  评论(0编辑  收藏  举报