#include <iostream>
using namespace std;
int pow(int x, int y)
{
int res = 1;
for(int i=0;i<y;i++)
{
res*=x;
}
return res;
}
int paiXuShu(int shang, int xia)
{
if (shang > xia){
cout << shang << "大于" << xia << " ,in function 'paiXuShu'" << endl;
return -1;
}
int res = 1;
for (int i=0;i<shang;i++)
{
res *= (xia-i);
}
for (int i=0;i<shang;i++)
{
res /= (shang-i);
}
return res;
}
int* fullMapping(int n)
{
int* p = new int[n+1];
p[1] = 1;
for (int i=2;i<=n;i++)
{
int sum = pow(i,n);
cout << sum << " ,";
for (int j=1;j<i;j++)
{
sum -= p[j] * paiXuShu(j, i);
}
cout << sum << " ." << endl;
p[i] = sum;
}
return p;
}
int main() {
cout << "Hello world! - cpp.jsrun.net." << endl;
int n = 4;
int* p = fullMapping(n);
for (int i=0;i<n;i++) cout << p[i+1] << endl;
return 0;
}