#include <iostream>
#include <vector>
using namespace std;
void fy(long n, vector<long> &temp)
{
if (n == 0)
{
temp.clear();
temp.push_back(1);
return;
}
if (n == 1)
{
temp.clear();
temp.push_back(1);
temp.push_back(1);
return;
}
fy(n - 1, temp);
vector<long> temp1;
vector<long>::iterator it = temp.begin();
while (it != temp.end())
{
temp1.push_back(*it);
it++;
}
temp.clear();
for (int index = 0; index <= n; index++)
{
if (index == 0)
{
temp.push_back(1);
continue;
}
if (index == n)
{
temp.push_back(1);
break;
}
temp.push_back(temp1[index - 1] + temp1[index]);
}
}
int main(int argc, char *argv[])
{
int n = 6;
vector<long> temp(n + 1);
fy(n, temp);
vector<long>::iterator it = temp.begin();
long index = 0;
while(it != temp.end())
{
cout << index << ":" << *it << endl;
index++;
it++;
}
system("pause");
return 0;
}