introduzione
Nello strano mondo dei numeri interi, i divisori sono come beni e usano per chiamare "ricchi" i numeri che hanno più divisori della loro inversione, mentre chiamano "poveri" quelli che hanno meno divisori della loro inversione.
Ad esempio, il numero ha cinque divisori: , mentre la sua inversione, , ne ha solo quattro: .
Quindi è chiamato un numero ricco , mentre un numero scarso .
Data questa definizione, possiamo creare le seguenti due sequenze intere di numeri ricchi e poveri:
(here we list the first 25 elements of the sequences)
Index | Poor | Rich
-------|------|-------
1 | 19 | 10
2 | 21 | 12
3 | 23 | 14
4 | 25 | 16
5 | 27 | 18
6 | 29 | 20
7 | 41 | 28
8 | 43 | 30
9 | 45 | 32
10 | 46 | 34
11 | 47 | 35
12 | 48 | 36
13 | 49 | 38
14 | 53 | 40
15 | 57 | 50
16 | 59 | 52
17 | 61 | 54
18 | 63 | 56
19 | 65 | 60
20 | 67 | 64
21 | 69 | 68
22 | 81 | 70
23 | 82 | 72
24 | 83 | 74
25 | 86 | 75
... | ... | ...
Appunti :
- come "inversione" di un numero intendiamo il suo inverso digitale , cioè con le sue cifre in base 10 invertite. Ciò significa che i numeri che terminano con uno o più zeri avranno un'inversione "più breve": ad esempio, l'inversione di
1900è0091quindi91 - escludiamo intenzionalmente i numeri interi che hanno lo stesso numero di divisori della loro inversione, cioè quelli appartenenti a OEIS: A062895
Sfida
Considerando le due sequenze sopra definite, il tuo compito è scrivere un programma o una funzione che, dato un numero intero n(puoi scegliere 0 o 1-indicizzato), restituisca l'ennesimo numero scarso e l'ennesimo numero ricco.
Ingresso
- Un numero intero (
>= 0se indicizzato 0 o>= 1se indicizzato 1)
Produzione
- 2 numeri interi, uno per la sequenza scadente e uno per la sequenza ricca, nell'ordine che preferisci purché sia coerente
Esempi:
INPUT | OUTPUT
----------------------------------
n (1-indexed) | poor rich
----------------------------------
1 | 19 10
18 | 63 56
44 | 213 112
95 | 298 208
4542 | 16803 10282
11866 | 36923 25272
17128 | 48453 36466
22867 | 61431 51794
35842 | 99998 81888
Regole generali:
- Questo è code-golf , quindi vince la risposta più breve in byte.
Non lasciare che le lingue di code-golf ti scoraggino dal pubblicare risposte con lingue non codegolfing. Prova a trovare una risposta il più breve possibile per "qualsiasi" linguaggio di programmazione. - Per la tua risposta valgono regole standard con regole I / O predefinite , quindi puoi usare STDIN / STDOUT, funzioni / metodo con i parametri corretti e tipo di ritorno, programmi completi. La tua chiamata.
- Sono vietate le scappatoie predefinite .
- Se possibile, aggiungi un link con un test per il tuo codice (ad es. TIO ).
- Inoltre, si consiglia vivamente di aggiungere una spiegazione per la risposta.
2. Per questo, vedere Corollary 1.4 alla fine del seguente documento, con nuguale a 19, 199, 1999, ...: m-hikari.com/ijcms-password/ijcms-password13-16-2006/…
