Wählen Sie Ihren berühmten Lieblingsinformatiker oder Pionier der Informatik, der 1942 oder früher geboren wurde (1943 markiert den Beginn der Entwicklung des „ersten“ Computers ). Sie sollten über eine Wikipedia-Seite oder eine andere Website verfügen, auf der ihr Geburtsjahr und ihre Leistungen im Zusammenhang mit der Informatik aufgeführt sind. Sie können das Gleiche wie eine andere Person wählen, es wird jedoch empfohlen, eine neue Person auszuwählen.
Nehmen Sie einen Namen, unter dem sie allgemein bekannt sind. Dies wird höchstwahrscheinlich der Vor- und Nachname sein, es können jedoch auch Abkürzungen oder Zwischennamen vorkommen, wenn dies häufiger vorkommt. Zum Beispiel für Tony Hoare beide Tony Hoare
und C. A. R. Hoare
wäre akzeptabel.
Alle Zeichen im Namen müssen druckbares ASCII sein . Wenn der Name Zeichen enthält, die nicht in ASCII gedruckt werden können, ist es in Ordnung, wenn Sie eine ungefähre Angabe treffen. zB Kurt Godel
statt Kurt Gödel
.
Nehmen Sie den Satz eindeutiger Zeichen im Namen (z. B. C. ARHoare
) und verschieben Sie sie bis zum Geburtsjahr Ihres Wissenschaftlers auf der druckbaren ASCII-Skala, um von dort ~
in den Weltraum zu gelangen. (Fügen Sie im Allgemeinen das Geburtsjahr Modulo 95 hinzu.) Dadurch erhalten Sie (höchstwahrscheinlich) einen neuen Satz druckbarer ASCII-Zeichen.
Zum Beispiel wurde CAR Hoare im Jahr 1934 geboren, so dass jede Zeichenverschiebung C. ARHoare
um 1934 (34 mod 95) Zeichen ergibt ePBctj2$5(
.
Dieses Stack-Snippet übernimmt die gesamte Verschiebung für Sie:
function go() {var name = document.getElementById("name").value;var year = parseInt(document.getElementById("year").value);var unique = {};for (var i = 0; i < name.length; i++) { unique[name.charAt(i)] = true; } var result = ''; for (var char in unique) { result += String.fromCharCode((char.charCodeAt(0) - 32 + year) % 95 + 32); } document.getElementById("result").value = result; }
Name: <input type="text" id="name" value="C. A. R. Hoare"><br>
Birth Year: <input type="text" id="year" value="1934"><br>
<button type="button" onclick="go()">Ok</button><br>
Result: <input type="text" id="result" readonly>
Herausforderung
Verwenden Sie diesen Satz und nur diesen Satz (keine Tabulatoren, keine Zeilenumbrüche) von versetzten druckbaren ASCII-Zeichen, und schreiben Sie ein Programm, das Hello, [name]!
nach stdout oder der nächstgelegenen Alternative gedruckt wird. Dabei [name]
handelt es sich um denselben exakten Namen, den Sie oben ausgewählt und verschoben haben, um Ihre Programmzeichen zu erhalten. Sie können mehrere Zeichen aus dem Satz verwenden oder einige überhaupt nicht verwenden. Beispielsweise wird das theoretische Programm PetBee($25
gedruckt Hello, C. A. R. Hoare!
.
Wertung
Ihre Punktzahl entspricht Ihrer Codegröße in Byte, multipliziert mit der Anzahl der eindeutigen Zeichen in dem von Ihnen ausgewählten Namen. Die niedrigste Wunde gewinnt.
Rear Admiral Grace Murray Hopper, United States Navy, (Retired), Doctor of Philosophy
. Geboren 1906. Wäre das in Ordnung?
Rear Admiral Grace Murray Hopper
. Denken Sie daran, dass Ihre Codegröße mit der Anzahl der eindeutigen Zeichen im Namen multipliziert wird, sodass ein längerer Name nicht unbedingt besser ist.