Partició. X14055


Statement
 

pdf   zip   main.R

html

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 =43251111

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 =1325

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.

Public test cases
  • Input

    4
    1 3 2 5
    

    Output

    FALSE 
    
  • Input

    8
    4  3  2  5 1 1 1 1
    

    Output

    TRUE 
    
  • Information
    Author
    Jaume Baixeries
    Language
    Catalan
    Official solutions
    R
    User solutions
    R