L'obiettivo
In questa sfida, il tuo compito è scrivere un programma in un linguaggio di programmazione L che prenda un intero positivo n e produca la somma dei divisori propri di n ( sequenza A001065 su OEIS). Dovrebbe restituire l'uscita corretta per ogni 1 ≤ n ≤ 10 000 . Ecco le prime 10 uscite:
0, 1, 1, 3, 1, 6, 1, 7, 4, 8
Inoltre, il tuo programma deve essere un poliglotta falso , il che significa quanto segue. È un programma valido in un altro linguaggio di programmazione L ' e per ogni input 1 ≤ n ≤ 10 (i casi di test sopra riportati) restituisce la somma dei divisori propri di n , ma esistono circa 11 ≤ n ≤ 10 000 per i quali non restituisce il risultato corretto. Potrebbe restituire qualcosa di errato, loop per sempre, crash ecc. Può dare un risultato errato per tutti n ≥ 11 , per alcuni di essi o solo per uno.
Regole e punteggio
Puoi scrivere un programma completo o una funzione e puoi avere diversi mezzi di input e output nelle due lingue. Vince il conteggio dei byte più basso. Code-golf standard applicano le regole . In questa sfida, diverse versioni o implementazioni principali di una lingua sono considerate distinte.
Nota che se usi linguaggi di programmazione con codifiche non ASCII (come molti fanno su questo sito), la stessa sequenza di byte deve essere usata per entrambi i linguaggi. Ciò significa che è necessario convertire tra code page potenzialmente diverse o subire penalità per i caratteri Unicode multibyte.
Casi di prova aggiuntivi
20 -> 22
36 -> 55
180 -> 366
997 -> 1
2875 -> 869
10000 -> 14211