Mínim divisor quadrat P69809


Statement
 

pdf   zip   main.cc

html

Un nombre és un quadrat perfecte si tots els seus factors primers apareixen un nombre parell de vegades. Per exemple, 3969 = 34 · 72 és un quadrat perfecte, però 11907 = 35 · 72 no ho és.

Donat un enter positiu n, trobeu-ne el mínim divisor d tal que n/d és un quadrat perfecte. Per exemple, amb 3969 la resposta és 1, amb 11907 és 3, amb 50 és 2, amb 6 és 6, amb 1 és 1, amb 49 és 1, amb 100000000 és 1, amb 987654323 és 987654323, i amb 987011161 és 987011161.

Escriviu un procediment

int minim_divisor_quadrat(int n);

que retorni la mínima d corresponent a n.

Precondició

Es compleix 1 ≤ n ≤ 109.

Observació Només cal enviar el procediment demanat; el programa principal serà ignorat.

Public test cases
  • Input/Output

    minim_divisor_quadrat(3969) → 1
    minim_divisor_quadrat(11907) → 3
    minim_divisor_quadrat(50) → 2
    minim_divisor_quadrat(6) → 6
    minim_divisor_quadrat(1) → 1
    minim_divisor_quadrat(49) → 1
    minim_divisor_quadrat(100000000) → 1
    minim_divisor_quadrat(987654323) → 987654323
    minim_divisor_quadrat(987011161) → 987011161
  • Information
    Author
    Maria Blesa
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++