Scomponi due numeri nei loro fattoriali; se ne condividono uno, restituisce un valore false. Altrimenti, restituisce un valore veritiero. (ispirato a questa recente domanda )
In altre parole, scrivi ogni numero di input come la somma dei fattoriali (di numeri interi positivi) nel modo più avido possibile; restituisce un valore di verità se non appare fattoriale in entrambe le rappresentazioni, altrimenti un valore di falsa.
Esempio
Dato 20 e 49:
20 = 3! + 3! + 3! + 2!
49 = 4! + 4! + 1!
Nessun fattoriale appare in entrambe le rappresentazioni, quindi restituisci un valore veritiero.
Dati 32 e 132:
132 = 5! + 3! + 3!
32 = 4! + 3! + 2!
3! appare in entrambe le rappresentazioni, quindi restituisce un valore false.
I / O
L'input e l'output possono avvenire con qualsiasi mezzo standard .
L'input sarà sempre due numeri interi non negativi; nessun limite superiore su questi numeri diversi da quello richiesto dalla tua lingua.
L'output dovrebbe essere un valore di verità o falsità . Questi valori non devono necessariamente essere coerenti per input diversi, purché ogni output sia correttamente verità / falsa.
Casi test
Se un input è 0
, la risposta sarà sempre veritiera. Altri casi di test veritieri:
{6, 3}, {4, 61}, {73, 2}, {12, 1}, {240, 2}, {5, 264}, {2, 91}, {673, 18},
{3, 12}, {72, 10}, {121, 26}, {127, 746}
Se entrambi gli ingressi sono numeri dispari o se entrambi gli ingressi sono lo stesso numero intero positivo, l'output sarà sempre falso. Altri casi di falsi test:
{8, 5}, {7, 5}, {27, 47}, {53, 11}, {13, 123}, {75, 77}, {163, 160}, {148, 53},
{225, 178}, {285, 169}, {39, 51}, {207, 334}, {153, 21}, {390, 128}, {506, 584},
{626, 370}, {819, 354}
Questo è code-golf , quindi vince meno byte!