Control C301A P57404


Statement
 

pdf   zip

Es diu que un natural n>0n > 0 és poderós si, per a cada divisor primer pp de nn, p2p^2 també és divisor de nn. Per exemple, 55125=335557755125 = 3\cdot3\cdot5\cdot5\cdot5\cdot7\cdot7 és un nombre poderós, perquè cada factor primer apareix, com a mínim, dos cops.

Feu un programa que llegeixi una seqüència de nombres mm i, per a cadascun, escrigui tots els nombres poderosos entre 1 i mm.

Entrada

L’entrada és una seqüència de naturals m>0m > 0.

Sortida

Per a cada mm de l’entrada, cal escriure una línia amb tots els nombres poderosos entre 1 i mm, separats per comes i en ordre creixent.

Observació

El vostre programa ha d’implementar i usar la funció

    bool es_poderos(int n);

que, donat un enter estrictament positiu |n|, indica si aquest és poderós o no.

Public test cases
  • Input

    27
    28
    26
    1
    3
    4
    270
    

    Output

    1,4,8,9,16,25,27
    1,4,8,9,16,25,27
    1,4,8,9,16,25
    1
    1
    1,4
    1,4,8,9,16,25,27,32,36,49,64,72,81,100,108,121,125,128,144,169,196,200,216,225,243,256
    
  • Information
    Author
    Professorat de P1
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++