#include <iostream> #include <vector> #include <iomanip> using namespace std; vo
ID: 3561520 • Letter: #
Question
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
void Eratos(int &length, vector< int > &);
int main()
{
int range;
vector< int > v;
cout << "Enter the upper range of number to display for prime number ";
cin >> range;
if (range > 300 || range < 2)
{
cout << "Invalid range. Your range is not between 2 and 300 ";
}
else
{
Eratos(range, v);
}
return 0;
}
void Eratos(int &length, vector< int > &v)
{
for (int i = 3; i <= length; i++)
{
v.push_back(i);
cout << i << ' ';
}
cout << endl;
for (int i = 1; i < (length/2); i++)
{
v.erase(v.begin() + i);
}
cout << "Prime numbers are ";
for (int i = 0; i < v.size(); ++i)
{
cout <<v[i] << ' ';
}
cout << ' ';
}
Explanation / Answer
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
void Eratos(int &length, vector< int > &);
int main()
{
int range;
vector< int > v;
cout << "Enter the upper range of number to display for prime number ";
cin >> range;
if (range > 300 || range < 2)
{
cout << "Invalid range. Your range is not between 2 and 300 ";
}
else
{
Eratos(range, v);
}
return 0;
}
void Eratos(int &length, vector< int > &v)
{
for (int i = 3; i <= length; i++)
{
v.push_back(i);
cout << i << ' ';
}
cout << endl;
for (int i = 1; i < (length/2); i++)
{
v.erase(v.begin() + i);
}
cout<< endl;
for (int i = 1; i < (length/3); i++)
{
v.erase(v.begin() + i);
}
cout << "Prime numbers are ";
for (int i = 0; i < v.size(); ++i)
{
cout <<v[i] << ' ';
}
cout << ' ';
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.