关于#比n小的最大质数#的问题,如何解决?(语言-c++)

题目描述
对于给定的n,求比n小的质数中最大的一个。质数是指一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数。
输入格式
一个整数n。( 2 < n < 10000)
输出格式
一个整数,即题目要求的解。
样例
样例输入
100
样例输出
97

#include <iostream>
using namespace std;
int main()
{
    int n, i, j;
    cin >>n;
    for(i=n-1;i>2;i--){
        int flag = 1;
        for(j=2;j*j<=i;j++){
            if(i%j==0){
                flag=0;
                break;
            }
        }
        if(flag) break;
    }
    cout << i;
    return 0;
}

img


img