All pastes #2110490 Raw Edit

Fix for F5.cxx

public cpp v1 · immutable
#2110490 ·published 2012-02-06 23:12 UTC
rendered paste body
#include <iostream>#include <vector>#include <algorithm>using namespace std;// Function object (a.k.a functor)struct fact{  int operator ()(int i) /*const*/  {    if(i > cache_.size())      cache_.resize(i);    if (i == 0)      return cache_[i] = 1;    else      return cache_[i-1] = i * operator()(i-1);   }  vector<int> cache_;};ostream& operator <<(ostream& os, vector<int> const& i){  for (    vector<int>::const_iterator j=begin(i);     j != end(i);     ++j)  {    os << *j << ',';  }  return os;}template <typename InIter, typename OutIter, typename F>OutIter mytransform(InIter beg, InIter end, OutIter result, F f){  for (; beg != end; ++beg)  {    *result = f(*beg);    ++result;  }  return result;}int main(){  vector<int> v;  int i;  while (cin >> i)    v.push_back(i);  mytransform(    begin(v), end(v),    begin(v),    fact()  );  cout << v << endl;}