Control C301A P57404


Statement
 

pdf   zip

thehtml

Es diu que un natural n > 0 és poderós si, per a cada divisor primer p de n, p2 també és divisor de n. Per exemple, 55125 = 3·3·5·5·5·7·7 é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 m i, per a cadascun, escrigui tots els nombres poderosos entre ‍1 i ‍m.

Entrada

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

Sortida

Per a cada m de l’entrada, cal escriure una línia amb tots els nombres poderosos entre 1 i m, 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++