La tâche
Dans ce défi, votre tâche consiste à écrire un programme dans un langage de programmation L qui prend un entier positif n et génère la somme des diviseurs appropriés de n ( séquence A001065 sur OEIS). Il doit renvoyer la sortie correcte pour tout 1 ≤ n ≤ 10 000 . Voici les 10 premières sorties:
0, 1, 1, 3, 1, 6, 1, 7, 4, 8
De plus, votre programme doit être un faux polyglotte , ce qui signifie ce qui suit. C'est un programme valide dans un autre langage de programmation L ' , et pour chaque entrée 1 ≤ n ≤ 10 (les cas de test ci-dessus), il retourne la somme des diviseurs propres de n , mais il en existe 11 ≤ n ≤ 10 000 pour lesquels il ne renvoie pas le résultat correct. Il peut renvoyer quelque chose de incorrect, boucler pour toujours, planter, etc. Il peut donner un mauvais résultat pour tous n ≥ 11 , pour certains d'entre eux ou un seul.
Règles et notation
Vous pouvez écrire un programme complet ou une fonction, et vous pouvez avoir différents moyens d'entrée et de sortie dans les deux langues. Le nombre d'octets le plus bas gagne. Les règles de code-golf standard s'appliquent. Dans ce défi, différentes versions principales ou implémentations d'un langage sont considérées comme distinctes.
Notez que si vous utilisez des langages de programmation avec des encodages non ASCII (comme beaucoup le font sur ce site), la même séquence d'octets doit être utilisée pour les deux langages. Cela signifie que vous devez soit convertir entre des pages de codes potentiellement différentes, soit subir des pénalités pour les caractères Unicode multi-octets.
Cas de test supplémentaires
20 -> 22
36 -> 55
180 -> 366
997 -> 1
2875 -> 869
10000 -> 14211