2750: 【例36.3】 最大质数
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:49
解决:31
题目描述
输入一个正整数 $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;
}