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

Απάντηση από AI

Αυτή η μέθοδος ελέγχει αν ο αριθμός n είναι τέλειο τετράγωνο ενός ακέραιου.

Αλγόριθμος:

  • Αν το n είναι αρνητικό, επιστρέφουμε άμεσα false, καθώς αρνητικοί αριθμοί δεν μπορούν να είναι τέλεια τετράγωνα.
  • Υπολογίζουμε τον ακέραιο τετραγωνικό ρίζα sqrt με Math.sqrt(n) και τον μετατρέπουμε σε int.
  • Ελέγχουμε αν το τετράγωνο του sqrt * sqrt είναι ίσο με τον αρχικό αριθμό n. Αν ναι, ο αριθμός είναι τέλειο τετράγωνο.

Παράδειγμα χρήσης:

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