Scrivi il programma più breve che attende che venga premuto ogni tasto di una tastiera US 101 standard * e poi esce scrivendo OK!
Ogni volta che si preme un tasto, il programma visualizza su una nuova riga il numero rimanente di tasti unici non compressi che devono essere premuti fino a quando tutti i tasti vengono premuti almeno una volta. Il programma dovrebbe essere in grado di testare una tastiera 101 e vedere se ogni tasto funziona. Quindi premere due volte un tasto o invio è consentito purché sia specificato per l'utente.
La pressione dello stesso tasto due o più volte non deve interrompere il codice né modificare il numero visualizzato di tasti non compressi rimanenti.
Tutti i tasti ( Left Shift, Right Shift, Right Control, Esc, Enter, etc.) devono essere inclusi.
Gli attuali tasti della tastiera sono importanti in questa sfida, quindi dal punto di vista del programma ( A
e a
, sono gli stessi e così sono 6
e ^
).
I tasti combinati non verranno registrati come comando combinato e verranno registrati solo i singoli tasti se si preme Ctrl+ Alt+ Delche conterà per tutti i singoli tasti nella combinazione che viene premuta. Quindi non è necessario premere anche le lettere maiuscole se hai già premuto le lettere minuscole e viceversa.
I tasti numerici sul tastierino numerico sono diversi dalla prospettiva del programma, quindi devono ancora essere premuti per terminare il programma, se si dispone di un laptop o di qualsiasi altra tastiera che non ha il layout di tastiera US Standard 101 voi non è possibile rispondere alla sfida se non si inserisce una tastiera compatibile.
* Le tastiere con tasto Fn e tasto laptop non saranno supportate per mantenere questa sfida fattibile
Questo è l'elenco dei tasti per un layout di tastiera 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