IsPrime.cRUN

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

//质数/素数,除了1和本身,没有其它的因子
int IsPrime(int n)
{
    if (n < 2) return 0;

    //不需要遍历[2, n-1],只需要遍历[2, n/2],甚至[2, sqrt(n)]的情况
    for (int i = 2; i <= sqrt(n); i++)
    //for (int i = 2; i <= n / 2; i++)
    {
        if (n % i == 0)//n是否被i整除
            return 0;//只要有一个约数,就不是质数。【反面结论,只要找到任意一个不成立的例子】
    }

    //所有整数都判断一遍,才能下正面的结论【正面结论,需要所有的情况都成立】
    return 1;
}

int main()
{
    for (int i = 2; i < 100; i++)
    {
        int result = IsPrime(i);
        if (result)
            printf("%d\n", i);
    }

    return 0;
}