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 Hoaree C. A. R. Hoareseria 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 Godelvez 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. ARHoare1934 (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($25imprimeHello, 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.