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 |