Escolha o seu famoso cientista da computação favorito ou pioneiro da ciência da computação que nasceu em 1942 ou anterior (como 1943 marca o início da criação do 'primeiro' computador ). Eles devem ter uma página da Wikipedia ou outro site que liste seu ano de nascimento e diga como suas realizações se relacionam à ciência da computação. Você pode escolher o mesmo que outra pessoa, mas a escolha de alguém novo é incentivada.
Pegue um nome pelo qual eles são comumente conhecidos. Esse provavelmente será o nome e o sobrenome, mas pode incluir abreviações ou nomes do meio, se isso for mais comum. Por exemplo, para Tony Hoare ambos Tony Hoare
e C. A. R. Hoare
seria aceitável.
Todos os caracteres no nome devem ser ASCII imprimíveis . Se o nome contiver caracteres que não são ASCII imprimíveis, tudo bem se você escolher algo aproximado. por exemplo, em Kurt Godel
vez deKurt Gödel
.
Pegue o conjunto de caracteres únicos no nome (por exemplo C. ARHoare
) e mude-os para a escala ASCII imprimível até o ano de nascimento do seu cientista, passando ~
do espaço para o espaço. (Basicamente, adicione o módulo 95 do ano de nascimento.) Isso fornecerá a você (provavelmente) um novo conjunto de caracteres ASCII imprimíveis.
Por exemplo, o CAR Hoare nasceu em 1934, mudando todo personagem em C. ARHoare
1934 (34 mod 95) ePBctj2$5(
.
Este snippet de pilha fará toda a mudança para você:
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>
Desafio
Usando este conjunto e apenas este conjunto (sem tabulações, sem novas linhas) de caracteres ASCII imprimíveis deslocados, escreva um programa que imprima Hello, [name]!
para stdout ou alternativa mais próxima, onde [name]
é o mesmo nome exato que você escolheu acima e deslocou para obter os caracteres do programa. Você pode usar vários caracteres do conjunto ou não usar alguns. Por exemplo, o programa teórico PetBee($25
imprimeHello, C. A. R. Hoare!
.
Pontuação
Sua pontuação é o tamanho do seu código em bytes vezes o número de caracteres únicos no nome que você escolher. A menor dor ganha.
Rear Admiral Grace Murray Hopper, United States Navy, (Retired), Doctor of Philosophy
. Nascido em 1906. Tudo bem?
Rear Admiral Grace Murray Hopper
. Lembre-se de que o tamanho do seu código é multiplicado pelo número de caracteres únicos no nome, portanto, um nome mais longo não é necessariamente melhor.