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, քանի որ բացասական թվերը չեն կարող լինել ճշգրիտ քառակուսիներ:
  • Հաշվում ենք ամբողջական քառակուսի արմատը sqrtMath.sqrt(n)-ի միջոցով և փոխում ենք int-ին:
  • Ստուգում ենք, արդյոք sqrt * sqrt-ը հավասար է սկզբնական n-ին: Եթե այո, ապա թիվը ճշգրիտ քառակուսին է:

Օգտագործման օրինակ՝

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