pat乙级1007寻找质数对个数 检测点5答案错误

问题遇到的现象和发生背景

pat乙级1007 寻找质数对,提交答案显示的是监测点5错误,但始终找不到问题,网上别人监测点5都是超时,有人能帮忙看看问题出在哪吗,感激不尽orz。

用代码块功能插入代码,请勿粘贴截图
#include
#include
int check(int x)
{
    int flag1 = 0;
    for (int i = 2; i <= sqrt(x * 1.0); i++)
    {
        if (x % i == 0) return 0;
    }
    return 1;
}
int main()
{
    int n, flag = 0, p1 = 3;
    scanf_s("%d", &n);
    if (n < 10000)
        for (int i = 5; i <= n; i++)
        {
            if (check(i) == 1)
            {
                if (i - p1 == 2)
                    flag++;
                p1 = i;
            }
        }
    printf("%d", flag);
    return 0;
}