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 кайтарат, анткени терс сандар так квадрат болбойт.
  • Math.sqrt(n) жардамында бүтүн квадрат тамырын sqrt эсептеп, аны intке айлантабыз.
  • sqrt * sqrt оригиналдуу сан n менен барабар болсо, сан так квадрат болуп саналат.

Колдонуу мисалы:

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