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

Atbilde no AI

Šī metode pārbauda, vai skaitlis n ir pilns kvadrāts no vesela skaitļa.

Algoritms:

  • Ja n ir negatīvs, tūlīt atgriež false, jo negatīvi skaitļi nevar būt pilni kvadrāti.
  • Aprēķinām vesela kvadrātsakni sqrt ar Math.sqrt(n) un pārvēršam to par int.
  • Pārbaudām, vai sqrt * sqrt ir vienāds ar sākotnējo skaitli n. Ja jā, skaitlis ir pilns kvadrāts.

Piemērs lietošanai:

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