质数判断 (语言-c++)

描述

给定一个正整数 N (1 <= N <= 10000 )

请你判断 N 是否是一个质数

输入
每组数据只有一个正整数 N

输出
每组输出一行,如果N是一个质数,输出"Yes",否输出"No"

输入样例 1
2

输出样例 1
Yes

输入样例 2
51

输出样例 2
No

  • 素数,也就是质数。它是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

    img

参考如下:

#include<iostream>
#include<cmath>
using namespace std;

int prime(int x)
{
    int i;
    int flag = 1;
    for (i = 2; i <= sqrt(x); i++)
    {
        if (x % i == 0)
        {
            flag = 0;
            break;
        }
    }
    return flag;
}

int main()
{
    int N;
    while(scanf("%d", &N) != EOF)
    {
        int result = prime(N);
        if (result)
            printf("Yes\n");
        else
            printf("No\n");
    }
    return 0;
}