Die Aufgabe
In dieser Herausforderung besteht Ihre Aufgabe darin, ein Programm in einer Programmiersprache L zu schreiben , die eine positive ganze Zahl n annimmt und die Summe der richtigen Teiler von n ausgibt ( Sequenz A001065 auf OEIS). Es sollte die korrekte Ausgabe für 1 ≤ n ≤ 10 000 zurückgeben . Hier sind die ersten 10 Ausgänge:
0, 1, 1, 3, 1, 6, 1, 7, 4, 8
Außerdem muss Ihr Programm ein gefälschter Polyglot sein , was Folgendes bedeutet. Es ist ein gültiges Programm in einer anderen Programmiersprache L ' und gibt für jede Eingabe 1 ≤ n ≤ 10 (die obigen Testfälle) die Summe der richtigen Teiler von n zurück , es gibt jedoch einige 11 ≤ n ≤ 10 000 für die es gibt nicht das richtige Ergebnis zurück. Es kann etwas Falsches zurückgeben, eine Endlosschleife bilden, abstürzen usw. Es kann ein falsches Ergebnis für alle n ≥ 11 geben , für einige von ihnen oder nur für einen.
Regeln und Wertung
Sie können ein vollständiges Programm oder eine Funktion schreiben und in den beiden Sprachen unterschiedliche Ein- und Ausgabemöglichkeiten haben. Die niedrigste Byteanzahl gewinnt. Es gelten die Standardregeln für Code-Golf . Bei dieser Herausforderung werden verschiedene Hauptversionen oder Implementierungen einer Sprache als unterschiedlich betrachtet.
Beachten Sie, dass bei Verwendung von Programmiersprachen mit Nicht-ASCII-Codierungen (wie dies auf dieser Site häufig der Fall ist) für beide Sprachen dieselbe Bytefolge verwendet werden muss. Dies bedeutet, dass Sie entweder zwischen potenziell unterschiedlichen Codepages konvertieren müssen oder Strafen für Mehrbyte-Unicode-Zeichen erleiden müssen.
Zusätzliche Testfälle
20 -> 22
36 -> 55
180 -> 366
997 -> 1
2875 -> 869
10000 -> 14211