Pilih ilmuwan komputer terkenal favorit Anda atau pelopor ilmu komputer yang lahir pada tahun 1942 atau lebih awal (karena tahun 1943 menandai dimulainya penciptaan komputer 'pertama' ). Mereka harus memiliki halaman Wikipedia atau situs lain yang mencantumkan tahun kelahiran mereka dan memberi tahu bagaimana prestasi mereka terkait dengan ilmu komputer. Anda dapat memilih yang sama dengan orang lain tetapi memilih orang baru dianjurkan.
Ambil nama yang biasa mereka kenal. Ini kemungkinan besar akan menjadi nama depan dan belakang mereka tetapi mungkin termasuk singkatan atau nama tengah jika itu lebih umum. Misalnya, untuk Tony Hoare baik Tony Hoare
dan C. A. R. Hoare
akan diterima.
Semua karakter dalam nama harus dapat dicetak ASCII . Jika nama tersebut mengandung karakter yang tidak dapat dicetak ASCII, tidak masalah jika Anda memilih sesuatu yang mendekati. misalnya Kurt Godel
bukannya Kurt Gödel
.
Ambil set karakter unik dalam nama (misalnya C. ARHoare
) dan geser mereka ke atas skala ASCII yang dapat dicetak pada tahun kelahiran ilmuwan Anda, berputar-putar dari ~
ruang angkasa. (Pada dasarnya tambahkan tahun lahir modulo 95.) Ini akan memberi Anda (kemungkinan besar) karakter baru ASCII yang dapat dicetak.
Misalnya, CAR Hoare lahir pada tahun 1934, sehingga mengubah setiap karakter pada tahun C. ARHoare
1934 (34 mod 95) memberi karakter ePBctj2$5(
.
Cuplikan Stack ini akan melakukan semua pergeseran untuk Anda:
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>
Tantangan
Dengan menggunakan set ini dan hanya set ini (tanpa tab, tidak ada baris baru) dari karakter ASCII yang dapat dicetak yang digeser, tulislah sebuah program yang mencetak Hello, [name]!
ke stdout atau alternatif terdekat, di mana [name]
nama persis sama yang Anda pilih di atas dan bergeser untuk mendapatkan karakter program Anda. Anda dapat menggunakan beberapa karakter dari set atau tidak menggunakan sama sekali. Sebagai contoh, program teoritis PetBee($25
dicetak Hello, C. A. R. Hoare!
.
Mencetak gol
Skor Anda adalah ukuran kode Anda dalam byte kali jumlah karakter unik dalam nama yang Anda pilih. Sakit terendah menang.
Rear Admiral Grace Murray Hopper, United States Navy, (Retired), Doctor of Philosophy
. Lahir tahun 1906. Apakah itu baik-baik saja?
Rear Admiral Grace Murray Hopper
. Ingat bahwa ukuran kode Anda dikalikan dengan jumlah karakter unik dalam nama sehingga nama yang lebih panjang belum tentu lebih baik.