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 ABCDtali
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 ABCDo, 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.