Вывести все простые числа от M до N включительно.
Входные данные
В первой строке находятся разделённые пробелом M и N (2 ≤ M ≤ N ≤ 1000000).
Выходные данные
Вывести числа в порядке возрастания, по одному в строке. Если между M и N включительно нет простых - вывести "Absent".
#include<iostream>
using namespace std;
int main(){
long long l,r,i,k=0,r2;
bool *m,a=true;
cin>>l>>r;
r2=2*r;
m= new bool[r2];
for(i=1;i<=r;i++)
m[i]=true;
for(i=2;(i*i)<=r;i++)
if(m[i])
for(int j=i*i;j<=r;j+=i)
m[j]=false;
for(i=l; i<=r; i++)
if(m[i]){
a=false;
cout <<i<<endl;}
if(a) cout<<"Absent"<<endl;
}
Есть решение которого нет на сайте? Пиши admin@devexe.top