Proszę o omówienie tego kodu znalazłem go w internecie i mnie zaintrygował ale nie do końca go rozumiem.
#include <iostream>
using namespace std;
int main() {
int x, cyfra, silnia=1, k=1;
cin>>x;
string s="";
while(silnia<x)
{
k=k+1;
silnia=silnia*k;
}
if(silnia>x)
{
silnia=silnia/k;
k=k-1;
}
while(k>0)
{
cyfra=x/silnia;
s=s+char(cyfra+'0');
x=x-cyfra*silnia;
silnia=silnia/k;
k=k-1;
}
cout<<s;
return 0;
}