A veces, cuando estoy realmente aburrido, me gusta tomar la suma de una serie de enteros no negativos. Solo tomo la suma de matrices de longitudes que son potencias de dos. Lamentablemente, a menudo cometo errores. Afortunadamente, sigo mi trabajo a medida que avanzo de la siguiente manera:
Agrego pares de números adyacentes hasta que solo quede uno. Por ejemplo:
6 + 18 + 9 + 6 + 6 + 3 + 8 + 10
= 24 + 15 + 9 + 18
= 39 + 27
= 66
Tu trabajo es determinar si he cometido un error en alguna parte. Puede pasar la entrada a su función o leerla desde la entrada estándar. La salida se puede imprimir o devolver.
Entrada: una matriz / lista / etc. de enteros no negativos, y posiblemente también la longitud de esa matriz si su idioma lo requiere. Esa matriz será todos los números leídos de izquierda a derecha y luego de arriba a abajo. Por ejemplo, la matriz anterior se convertiría en:
[[6, 18, 9, 6, 6, 3, 8, 10], [24, 15, 9, 18], [39, 27], [66]]
o
[6, 18, 9, 6, 6, 3, 8, 10, 24, 15, 9, 18, 39, 27, 66]
si lo prefiere.
Salida: un booleano único que representa si se cometió o no un error. El booleano se puede representar usando cualquier mapeo siempre que todas las entradas donde se comete un error devuelvan / impriman un resultado idéntico y todas las entradas que no contengan errores devuelvan / impriman un resultado idéntico. Esto debería ser evidente, pero esas dos salidas no pueden ser iguales.
Algunos ejemplos de suma correctas:
6
5+6
=11
3 + 2 + 4 + 5
= 5 + 9
= 14
[0, 1, 2, 3, 1, 5, 6]
[[1, 2, 4, 8], [3, 12], [15]]
Algunos ejemplos de suma incorrecta:
5+4
=8
4 + 4 + 4 + 4
= 9 + 7
= 16
[[1, 2, 3, 4], [7, 3], [10]]
[3, 4, 5, 6, 7, 8, 9]
Tenga en cuenta que puedo cometer errores y aún así obtener la respuesta correcta. Si cometo un error, nunca dará como resultado un número adicional o un número faltante en la matriz final, solo un número incorrecto.
Las lagunas estándar están prohibidas. La respuesta más corta en cada idioma es un ganador. La respuesta anterior ganará en caso de empate. Me reservo el derecho de decidir cuál es el "mismo idioma", pero diré por adelantado que no se puede ganar un punto tanto en Python 2 como en Python 3.
[0,1,2,3,1,5,6]
no es válido porque "Entrada: una matriz / lista / etc. de enteros positivos".