Виберіть свого улюбленого відомого вченого-комп’ютера чи піонера інформатики, який народився у 1942 році чи раніше (оскільки 1943 рік означає початок створення «першого» комп’ютера ). У них повинна бути сторінка Вікіпедії або інший веб-сайт, в якому перераховано рік їх народження та розповідається про те, як їх досягнення стосуються інформатики. Ви можете вибрати те саме, що і хтось інший, але рекомендується вибрати когось нового.
Візьміть ім’я, яке вони широко знають. Швидше за все, це буде їх ім'я та прізвище, але вони можуть містити абревіатури та прізвища, якщо це є більш поширеним. Наприклад, для Тоні Хоара і те, Tony Hoareі інше C. A. R. Hoareбуло б прийнятним.
Усі символи в імені повинні бути надруковані ASCII . Якщо ім'я містить символи, які не можна друкувати ASCII, це добре, якщо ви виберете щось приблизне. наприклад Kurt Godelзамість Kurt Gödel.
Візьміть набір унікальних символів в імені (наприклад C. ARHoare) і змістіть їх вгору за друкованою шкалою ASCII до року народження вашого вченого, перекидаючись з ~космосу. (В основному додайте рік народження по модулю 95.) Це дасть вам (швидше за все) новий набір символів для друку ASCII.
Наприклад, CAR CAR Hoare народився в 1934 році, тому зміна кожного персонажа C. ARHoareдо 1934 року (34 мод 95) символів дає ePBctj2$5(.
Цей фрагмент стека зробить для вас всі зміни:
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>
Виклик
Використовуючи цей набір і лише цей набір (без вкладок, жодних рядків) зміщених символів для друку ASCII, напишіть програму, яка друкує Hello, [name]!до stdout або найближчої альтернативи, де [name]це те саме ім’я, яке ви вибрали вище та зміщене для отримання символів програми. Ви можете використовувати кілька символів із набору або взагалі не використовувати їх. Наприклад, теоретична програма PetBee($25друкує Hello, C. A. R. Hoare!.
Оцінка балів
Ваш бал - це розмір вашого коду в байтах, кратному кількості унікальних символів у вибраному вами імені. Виграє найменша біль.
Rear Admiral Grace Murray Hopper, United States Navy, (Retired), Doctor of Philosophy. Народився 1906 р. Це було б гаразд?
Rear Admiral Grace Murray Hopperщо. Пам'ятайте, що ваш розмір коду множиться на кількість унікальних символів у імені, тому довше ім’я не обов’язково краще.