Este desafío es levantar el espíritu de nuestro mod Alex A. , que generalmente se equivoca .
Supongamos que tiene un amigo llamado Alex que necesita ayuda con la lógica básica y las matemáticas, específicamente la equivalencia matemática .
Te da una lista de ecuaciones de la forma [variable] = [variable]en la que a [variable]siempre es una letra mayúscula de la A a la Z (no una letra minúscula, ni un número, ni ninguna otra cosa). Hay una ecuación por línea en la lista, excepto por una sola línea que solo dice therefore.
Todas las ecuaciones anteriores thereforeson premisas , hechos que se suponen verdaderos. Todas las ecuaciones a continuación thereforeson proposiciones no verificadas, hechos que Alex intenta inferir de las premisas, y pueden o no ser ciertas.
Por ejemplo, en esta lista de ecuaciones, la proposición concluyente única A = Ces verdadera:
A = B
B = C
therefore
A = C
Es su trabajo decirle a Alex si todas sus proposiciones se siguen lógicamente de las premisas dadas. Es decir, debe decirle a Alex si está equivocado o correcto en sus conclusiones.
Escriba un programa / función que tome una cadena de una lista de ecuaciones como se describe e imprime / devuelve
Alex is right
si todas las conclusiones se siguen lógicamente de las premisas y, de lo contrario, salen
Alex is wrong
si alguna conclusión no se deduce lógicamente de las premisas.
El código más corto en bytes gana.
Asegúrese de estar atento a estos casos:
La variable siempre se iguala a sí misma. p.ej
B = A therefore A = A X = Xresultados en
Alex is right.No se puede suponer que las variables con relaciones desconocidas sean iguales. p.ej
P = Q therefore E = Rresultados en
Alex is wrong.Cuando no hay ecuaciones después de
thereforeentonces, las conclusiones son vacías . p.ejD = C thereforey
thereforeambos resultan en
Alex is right.Cuando no hay ecuaciones antes,
thereforeentonces solo se puede inferir la auto-igualdad. p.ejtherefore R = Rresulta en
Alex is right, perotherefore R = Wresultados en
Alex is wrong.
Más ejemplos
Alex tiene casos incorrectos: (separados por líneas vacías)
A = B
C = D
therefore
A = C
A = L
E = X
A = I
S = W
R = O
N = G
therefore
G = N
L = I
R = O
S = A
X = X
X = E
D = K
D = Q
L = P
O = L
M = O
therefore
K = L
A = B
therefore
B = C
Z = A
S = S
therefore
A = Z
A = A
S = A
A = S
Z = A
Z = A
K = L
K = X
therefore
X = P
L = X
L = P
therefore
A = B
B = C
A = C
therefore
A = A
B = B
C = C
D = D
E = E
F = F
G = G
H = H
I = I
J = J
K = K
T = I
L = L
M = M
N = N
O = O
P = P
Q = Q
R = R
S = S
T = T
U = U
V = V
W = W
X = X
Y = Y
Z = Z
A = B
B = C
C = D
D = E
E = F
F = G
G = H
H = I
I = J
J = K
K = L
L = M
M = N
N = O
O = P
P = O
Q = R
R = S
S = T
T = U
U = V
V = W
W = X
X = Y
Y = Z
therefore
A = Z
therefore
C = D
T = Y
A = Z
P = Q
therefore
E = R
therefore
R = W
Alex tiene razón casos:
H = J
therefore
J = H
K = L
K = X
therefore
L = X
C = B
B = A
therefore
A = B
K = L
K = X
K = P
therefore
L = X
L = P
X = P
A = Y
Y = Q
Q = O
therefore
O = Y
O = A
C = C
therefore
C = C
A = B
B = A
therefore
A = B
B = A
A = B
B = C
C = D
therefore
A = A
A = B
A = C
A = D
B = A
B = B
B = C
B = D
C = A
C = B
C = C
C = D
D = A
D = B
D = C
D = D
therefore
A = A
B = B
C = C
D = D
E = E
F = F
G = G
H = H
I = I
J = J
K = K
L = L
M = M
N = N
O = O
P = P
Q = Q
R = R
S = S
T = T
U = U
V = V
W = W
X = X
Y = Y
Z = Z
D = I
F = H
J = M
therefore
M = J
D = I
H = F
A = B
B = C
C = D
D = E
E = F
F = G
G = H
H = I
I = J
J = K
K = L
L = M
M = N
N = O
O = P
P = Q
Q = R
R = S
S = T
T = U
U = V
V = W
W = X
X = Y
Y = Z
therefore
Z = A
F = R
G = I
W = L
A = B
B = C
therefore
A = C
B = A
therefore
A = A
X = X
P = P
C = G
M = C
therefore
D = C
therefore
therefore
therefore
R = R
therefore\nTABS < SPACES->Alex is right
Alex is wrongVerifica todos los casos de prueba.