/************************************************************************
ex01.cpp
************************************************************************/
#include <iostream>
using namespace std;
template <class T>
T factoral(const T end) {
T result = 1;
for (int i = end; i > 1; i--)
result = result * i;
return result;
}
void main() {
for (int i = 0; i < 20; i++)
cout << factoral(i) << endl;
cout.precision(0);
cout.setf(ios::fixed);
cout << endl;
for (float f = 0.0; f < 20.0; f += 1.0)
cout << factoral(f) << endl;
}