Sobes.tech
Senior

public static boolean isPerfectSquare(int n){ if (n < 0) return false; int sqrt = (int) Math.sqrt(n); return sqrt * sqrt == n; }

sobes.tech AI

Vastus AI-lt

See meetod kontrollib, kas number n on täpne täisarvu ruut.

Algoritm:

  • Kui n on negatiivne, tagastame kohe false, kuna negatiivsed arvud ei saa olla täpsed ruudud.
  • Arvutame täisarvulise ruutjuure sqrt kasutades Math.sqrt(n) ja teisendame selle int-ks.
  • Kontrollime, kas sqrt * sqrt on võrdne algse arvuga n. Kui on, siis number on täpne ruut.

Kasutusnäide:

System.out.println(isPerfectSquare(16)); // true
System.out.println(isPerfectSquare(20)); // false