题目描述
牛牛最近学习了质数的概念。
质数指在大于1的自然数中,除了1和它本身以外不再有其他因数。
输入一个n,输出小于等于n最大的质数。
输入描述:
输入一个整数n
输出描述:
输出小于等于n的最大的质数
示例1
输入:2
输出 :2
示例2
输入:100
输出:100
备注:对于所有数据: 2 <= n <= 1000000000000
30分: n <= 100000
70分: n <= 1000000000
#include<bits/stdc++.h>
using namespace std;
bool isprime (long long int n){
for(long long int
i=2;i<=(int)sqrt(n*1.0);i++)
{
if(n%i==0)return false;
} return true;
}
int main()
{
long long int n;
cin>>n;
for(long long int i=n;i>=2;i--)
{
if(isprime(i)){
cout<<i;
break;
}
}
return 0;
}