2750: 【例36.3】 最大质数

内存限制:64 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:45 解决:28

题目描述

输入一个正整数 $n$,找到$1$到$n$里最大的质数,如果没有质数则输出"No"。

输入

输入一个正整数 $n$($n≤2×10^7$)。

输出

输出 $1$到$n$里最大的质数,如果没有质数,则输出"No"。输出占一行。

样例输入 复制

1

样例输出 复制

No

提示


#include<bits/stdc++.h>
using namespace std;
int n;
bool flag;
int main(){
    cin>>n;
    if(n==1) {cout<<"No";return 0;}
    if(n==2) {cout<<2;return 0;}
    for(int i=n;i>=3;i--) {
    	flag=true;
    	for(int j=2;j*j<=i;j++)
    	    if(i%j==0) {
    	    	flag=false;
    	    	break;}
    	if(flag) {
    	    cout<<i;
    	    break;}
	}
	return 0;
}