F014A. Nombres macos P31716


Statement
 

pdf   zip

Feu un programa que, donada una seqüència de nombres, digui quins són macos i quins no ho són. Diem que un natural més gran que zero és maco si és un quadrat perfecte i els seus únics divisors primers són 3 o 7. Aixi, els nombres macos són: 1=3070,9=3270,49=3072,81=3470,441=3272,729=3670,141776649=31074,\begin{eqnarray*} 1 &=& 3^0 \cdot 7^0,\\ 9 &=& 3^2 \cdot 7^0,\\ 49 &=& 3^0 \cdot 7^2,\\ 81 &=& 3^4 \cdot 7^0,\\ 441 &=& 3^2 \cdot 7^2,\\ 729 &=& 3^6 \cdot 7^0,\\ &\vdots&\\ 141776649 &=& 3^{10} \cdot 7^4,\\ &\vdots& \end{eqnarray*}

El vostre programa ha d’implementar i usar la funció @bool es_maco(int x);@ que indica si @x@ és un nombre maco o no, sota la precondició @x@ 1\ge 1.

Entrada

L’entrada és una seqüència de naturals, cadascun entre 1 i 200 milions.

Sortida

Per a cada nombre, cal dir si és un nombre maco o no, seguint el format de l’exemple.

Observació

No podeu usar cap vector per resoldre aquest problema.

Public test cases
  • Input

    1
    9
    49
    2
    3
    4
    21
    25
    63
    147
    243
    141776649
    150000001
    

    Output

    1 es maco
    9 es maco
    49 es maco
    2 es lleig
    3 es lleig
    4 es lleig
    21 es lleig
    25 es lleig
    63 es lleig
    147 es lleig
    243 es lleig
    141776649 es maco
    150000001 es lleig
    
  • Information
    Author
    Professorat de P1
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++