static void sieve(int n) { sets; for (int i = 2; i <= n; i++) s.insert(i); for (set ::iterator p = s.begin(); p != s.end(); p++) for (int i = (*p)*2; i <= n; i += *p) s.erase(i); copy(s.begin(), s.end(), ostream_iterator (cout, " ")); cout << "\n"; }
static void hist(const set<double> & ds, int n) { if (ds.size() < 1) return; const double min = *(ds.begin()), max = *--ds.end(), range = (max + 0.1) - min, subrange = range/((double) n); vector<set<double> > buckets(n); for (int i = 0; i < n; i++) buckets.push_back(set<double>()); for (set<double>::iterator i = ds.begin(); i != ds.end(); i++) buckets[(int) ((*i)/subrange)].insert(*i); }
This page last modified on 25 July 2000.