九度 OJ 1047:素数判定

来源:互联网 发布:淘宝网上传图片尺寸 编辑:程序博客网 时间:2024/05/29 11:55
题目1047:素数判定

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:11371

解决:5152

题目描述:

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

输入:

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

输出:

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

样例输入:
13
样例输出:
yes
来源:
2009年哈尔滨工业大学计算机研究生机试真题

判断素数,循环到i*i<=N时就可以,降低复杂度。

#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int main(){    int n,flag;    while(scanf("%d",&n)!=EOF){        flag=2;        if(n<0||n==1||n==0) printf("no\n");        else{            for(int i=2;i*i<=n;i++){                if(n%i==0) {                    printf("no\n");                    break;                }                else flag++;            }            if(flag*flag>n) printf("yes\n");        }    }}


0 0
原创粉丝点击