introduzione
Nella teoria dei numeri, diciamo che un numero è liscio quando i suoi fattori primi sono tutti al massimo . Ad esempio, 2940 è 7-smooth perché .
Qui, definiamo una coppia smooth come due numeri interi consecutivi che sono entrambi smooth. Un esempio di 7 coppie lisce sarà perché e . Curiosità: questa è in realtà la più grande coppia 7-smooth .
Størmer dimostrò nel 1897 che per ogni , ci sono solo finitamente molte coppie smooth , e questo fatto è noto come Teorema di Størmer .
Sfida
Il tuo compito è quello di scrivere un programma o una funzione che, dato un numero primo di input , restituisca o restituisca tutte le coppie smooth senza duplicati (l'ordine all'interno della coppia non ha importanza) nell'ordine che desideri.
Si noti che per i numeri primi e , supponendo , tutte le coppie smooth sono anche coppie smooth.
I / O di esempio
Input: 2
Output: (1, 2)
Input: 3
Output: (1, 2), (2, 3), (3, 4), (8, 9)
Input: 5
Output: (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (8, 9), (9, 10), (15, 16), (24, 25), (80, 81)
Input: 7
Output: (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8), (8, 9), (9, 10), (14, 15),
(15, 16), (20, 21), (24, 25), (27, 28), (35, 36), (48, 49), (49, 50), (63, 64),
(80, 81), (125, 126), (224, 225), (2400, 2401), (4374, 4375)
Restrizione
Il programma o la funzione dovrebbero teoricamente terminare a tempo finito per tutti gli input. Le scappatoie standard non sono consentite per impostazione predefinita.
Criteri vincenti
Poiché si tratta di una sfida di code-golf , vince l'invio valido più breve per ogni lingua.
(1, 2)
parte dell'output è obbligatorio? ..
(1, 2)
coppia.