关闭

题目1047:素数判定

76人阅读 评论(0) 收藏 举报
题目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;
}

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:42196次
    • 积分:965
    • 等级:
    • 排名:千里之外
    • 原创:136篇
    • 转载:6篇
    • 译文:0篇
    • 评论:1条
    最新评论