Napisz najkrótszy program, który czeka na każdym kluczu o standard 101 klucz amerykańskiej klawiaturze * być wciśnięty, a następnie kończy pisanie OK!
Za każdym naciśnięciem klawisza program wyświetla w nowym wierszu pozostałą liczbę niespakowanych unikalnych klawiszy, które należy nacisnąć, aż wszystkie klawisze zostaną naciśnięte przynajmniej raz. Program powinien być w stanie przetestować klawiaturę 101 i sprawdzić, czy każdy klawisz działa. Tak więc dwukrotne naciśnięcie klawisza lub enter powinno być dozwolone, o ile jest to określone dla użytkownika.
Dwukrotne naciśnięcie tego samego klawisza nie powinno zakłócać kodu ani zmieniać wyświetlanej liczby pozostałych nie naciśniętych klawiszy.
Wszystkie klucze ( Left Shift, Right Shift, Right Control, Esc, Enter, itd.) Powinny być uwzględnione.
Rzeczywiste klawisze klawiatury są ważne w tym wyzwaniu, więc z perspektywy programu ( A
i a
są takie same, a więc 6
i ^
).
Połączone klawisze nie zostaną zarejestrowane jako kombinacja poleceń i tylko pojedyncze klawisze zostaną zarejestrowane, jeśli zostanie naciśnięty klawisz Ctrl+ Alt+, Delco będzie się liczyć dla wszystkich poszczególnych klawiszy w kombinacji. Więc nie musisz naciskać również wielkich liter, jeśli naciśniesz już małe litery i odwrotnie.
Klawisze numeryczne na klawiaturze numerycznej różnią się od perspektywy programu, więc nadal trzeba je nacisnąć, aby zakończyć program, jeśli masz laptopa lub inną klawiaturę, która nie ma układu klawiatury US Standard 101 , nie może sprostać wyzwaniu, chyba że podłączysz kompatybilną klawiaturę.
* Klawiatury z klawiszem Fn i klawiszem laptopa nie będą obsługiwane, aby sprostać temu wyzwaniu
Oto lista klawiszy dla układu klawiatury US Standard 101:
backspace
tab
enter
right shift
right ctrl
right alt
left shift
left ctrl
left alt
print screen
pause/break
caps lock
escape
page up
page down
end
home
left arrow
up arrow
right arrow
down arrow
insert
delete
0
1
2
3
4
5
6
7
8
9
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
numpad 0
numpad 1
numpad 2
numpad 3
numpad 4
numpad 5
numpad 6
numpad 7
numpad 8
numpad 9
multiply
add
subtract
decimal point
numpad enter
divide
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10
f11
f12
num lock
scroll lock
semi-colon
equal sign
comma
dash
period
forward slash
grave accent
open bracket
back slash
close braket
single quote
space