Zadanie na system silniowy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | //Autor: Józef Witek #include <iostream> using namespace std; string ssilnia(int x) { int silnia = 1; int k = 1; string s = ""; while (silnia < x) { k = k + 1; silnia = silnia * k; } if (silnia > x) { silnia = silnia / k; k = k - 1; } s = ""; while (k > 0) { int cyfra = x/silnia; s = s + char(cyfra+'0'); x = x - cyfra * silnia; silnia = silnia / k; k = k - 1; } return s; } int main() { cout << ssilnia(5489); } |