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