Hide

Problem E
Faktoradiska tal

De flesta talsystem som vi kommer i kontakt med har samma bas för alla positioner i talet, det enda som skiljer är exponenten. Såvida är tal i bas 10 uppbyggda av (från höger) entalssiffra, tiotalssiffra, hundratalssiffra, osv. Ett lite ovanligt talsystem som kan avändas inom kombinatorik använder sig av fakulteter för de olika positionerna. Därmed är den högraste siffran 1!-talssiffra, nästa 2!-talssiffra, sedan 3!-talssifra, osv.

Om vi antar att talet $F$ är uppbyggt av $n$ st fakulteter på detta vis, så kan vi konvertera talet $F$ till decimaltalet $D$ genom följande beräkning:

$ D\ =\ \sum _{i=1}^{n} f_i *i! $

där $f_i$ är den i:e siffran i talet $F$, räknat från höger. $f_i\ \leq \ i$. För värden på $f_i$ som är större än 9 använder vi bokstäverna A-Z, där A=10, B=11, osv.

I denna uppgift ska du skriva ett program som kan konvertera mellan decimaltal och fakultetstal.

Indata

Två tal, på varsin rad. Det första talet $a$ är ett fakultetstal, och det andra talet $b$ är ett decimaltal.

Utdata

Två tal, på varsin rad. Det första talet är $a$ konverterat till ett decimaltal, och det andra är $b$ konverterat till fakultetstal.

Sample Input 1 Sample Output 1
654320
25
5038
1001
Sample Input 2 Sample Output 2
32A40244706404200
1122334455667788
1122334455667788
32A40244706404200

Please log in to submit a solution to this problem

Log in