Flux amb tres nombres primers cúbics seguits X62259


Statement
 

pdf   zip

thehtml

Un nombre natural és un nombre primer cúbic si és un nombre primer que es pot escriure com a diferència de dos nombres consecutius cadascun d’ells elevat al cub.

Per exemple, el 61 és un nombre primer cúbic ja que és un nombre primer i a més a més 61 = 53 − 43.

Fes un programa que donat un flux de naturals indiqui si el flux conté tres nombres seguits que siguin primers cúbics. En cas que sigui així has de mostrar els tres nombres primers cúbics seguits que apareixen abans en el flux.

Entrada

L’entrada consisteix en un flux de naturals que té com a mínim tres elements.

Sortida

Si el flux conté tres nombre seguits que són primers cúbics mostrarà aquests tres nombres, sinó compleix aquesta propietat mostrarà la cadena de caràcters "NO".

Observació

IMPORTANT!: Per resoldre aquest problema cal que implementis la funció primer_cubic que donat un nombre natural retorna true si és un nombre primer cúbic o false en cas contrari.

A més NO pots usar strings, taules ni vectors en la teva solució. SÍ pots usar string per escriure el missatge NO en el canal de sortida.

Public test cases
  • Input

    1 2 3 7 127 61 17 19 1801 397 4 12 919 19 547 1801 55 0
    

    Output

    7 127 61
    
  • Input

    1 10 1951 2269 37
    

    Output

    1951 2269 37
    
  • Input

    543210 7 19 1000000 19 37 1000010 37 61 1000100 61 127 1000110 127 271 1000200 271 331 1000210 331 397 1001000 397 547 1001010 547 631 1001100 631 919 1001110 919 1657 1001200 1801
    

    Output

    NO
    
  • Input

    2269 7 1951 1000000 19 37 1000010 37 61 1000100 61 127 1000110 127 271 1000200 271 331 1000210 331 397 1001000 397 547 1001010 547 631 1001100 631 919 1001110 919 1657 1001200 1801 
    

    Output

    2269 7 1951
    
  • Information
    Author
    Bernardino Casas
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++