Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีตรวจสอบว่าเลขที่กำหนดเป็นกำลังสองสมบูรณ์ใน Python

ปัญหา

สมมติว่าเรามีตัวเลข n เราต้องการตรวจสอบว่า n เป็นจำนวนกำลังสองสมบูรณ์ (perfect square) หรือไม่ จำนวนหนึ่งจะเป็นกำลังสองสมบูรณ์เมื่อรากที่สองของมันเป็นจำนวนเต็ม

ตัวอย่าง: หาก n = 36 ผลลัพธ์คือ True เพราะ 36 = 6×6

แนวทางแก้ปัญหา

  1. คำนวณส่วนจำนวนเต็มของรากที่สองของ n (sq_root = int(sqrt(n)))
  2. ตรวจสอบว่า sq_root * sq_root == n หากจริงคืนค่า True มิฉะนั้น False

ตัวอย่างโค้ด

from math import sqrt

def solve(n):
    sq_root = int(sqrt(n))
    return (sq_root * sq_root) == n

n = 36
print(solve(n))  # Output: True

อินพุต / เอาต์พุต

Input: 36
Output: True