Quattro sequenze di numeri interi
In questa sfida, testerai quattro diverse proprietà di un numero intero positivo, dato dalle seguenti sequenze. Un numero intero positivo N è
- perfetto ( OEIS A000396 ), se la somma dei divisori propri di N è uguale a N . La sequenza inizia con 6, 28, 496, 8128, 33550336, 8589869056, 137438691328, 2305843008139952128 ...
- refactorable ( OEIS A033950 ), se il numero di divisori di N è un divisore di N . La sequenza inizia con 1, 2, 8, 9, 12, 18, 24, 36, 40, 56, 60, 72, 80, 84, 88, 96, 104, 108, 128 ...
- pratico ( OEIS A005153 ), se ogni intero 1 ≤ k ≤ N è una somma di alcuni divisori distinti di N . La sequenza inizia con 1, 2, 4, 6, 8, 12, 16, 18, 20, 24, 28, 30, 32, 36, 40, 42, 48, 54, 56 ...
- estremamente composita ( OEIS A002128 ), se ogni numero 1 ≤ K <N trovi strettamente meno divisori di N . La sequenza inizia con 1, 2, 4, 6, 12, 24, 36, 48, 60, 120, 180, 240, 360, 720, 840, 1260, 1680, 2520, 5040 ...
Quattro programmi
Il tuo compito è scrivere quattro programmi (ovvero programmi completi, definizioni di funzioni o funzioni anonime che eseguono I / O con uno dei metodi standard ). Ciascun programma risolve il problema dell'appartenenza a una di queste sequenze. In altre parole, ogni programma prenderà un intero positivo N ≥ 1 come input e produrrà un valore di verità se N è nella sequenza e un valore di falsa in caso contrario. Puoi presumere che N sia entro i limiti del tipo intero standard del tuo linguaggio di programmazione.
I programmi devono essere correlati nel modo seguente. Ci sono quattro stringhe ABCD
tali
AC
è il programma che riconosce i numeri perfetti.AD
è il programma che riconosce i numeri refactorable.BC
è il programma che riconosce i numeri pratici.BD
è il programma che riconosce numeri altamente compositi.
punteggio
Il tuo punteggio è la lunghezza totale (in byte) delle stringhe ABCD
o, in altre parole, il conteggio totale dei byte dei quattro programmi diviso per due. Il punteggio più basso in ciascun linguaggio di programmazione è il vincitore. Code-golf standard applicano le regole .
Ad esempio, se i quattro stringhe sono a{
, b{n
, +n}
e =n}?
, quindi i quattro programmi sono a{+n}
, a{=n}?
, b{n+n}
e b{n=n}?
, e il punteggio è 2 + 3 + 3 + 4 = 12.