does any one know how to solve this in c++?
#include <iostream> #include <list> #include <algorithm> #include <iterator> #include <cmath> typedef unsigned long long ull; using namespace std; int main() { list<ull> alist={1,2}; ull n; cin>>n; list<ull>::iterator second=++alist.begin(); for(ull i=3;i<n;i++) { list<ull>::iterator upbound=find_if(second,alist.end(),bind2nd(greater<ull>(),sqrt(i))); list<ull>::iterator item=find_if_not(second,upbound, bind1st(modulus<ull>(),i)); if(item == upbound) alist.push_back(i); } if(n==2)
copy(alist.begin(),second,ostream_iterator<ull>(cout," "));
if(n>2) copy(alist.begin(),alist.end(),ostream_iterator<ull>(cout," "));
return 0; }