Diem que un vector V té una partició si i només si
es pot dividir en dues parts tals que
la suma de cadascuna de les parts sigui igual a la suma de l’altra.
Per dividir entenem que podem separar el vector en dues parts, tal que
si tornem a unir-les, tornem a tenir el vector original
(com si el talléssim per una posició).
Feu la funció particio(V) tal que,
donat un vector d’enters V,
torni cert si i només si V té una partició.
Per exemple, si tenim:
| V = | 4 | 3 | 2 | 5 | 1 | 1 | 1 | 1 |
la funció tornarà TRUE ja que hi ha una partició del vector V:
[4, 3, 2] i [5, 1, 1, 1, 1] tal que la suma de cadascuna de les parts és 9.
En canvi, si tenim:
| V = | 1 | 3 | 2 | 5 |
la funció tornarà FALSE, ja que no hi ha cap partició tal que la suma de totes
dues parts sigui igual. Per exemple, si partim el vector en:
[1] i [3, 2, 5], [1, 3] i [2, 5] o [1, 3, 2] i [5],
la suma de cadascuna de les parts és diferent.
Observació
Només cal que enviïs el fitxer amb la funció (i les funcions auxiliars que hagis fet)
que et demanem i prou.
El fitxer main.R et pot servir per a fer la teva solució, però no cal que n’enviïs
el contingut.
Entrada
Un vector V d’enters.
Sortida
TRUE si i només hi ha una partició del vector V.
Input
4 1 3 2 5
Output
FALSE
Input
8 4 3 2 5 1 1 1 1
Output
TRUE