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

ตรวจสอบว่าตัวเลขสามารถสร้างกำลังสองสมบูรณ์หลังจากเพิ่ม 1 ใน Python . ได้หรือไม่


สมมติว่าเรามีตัวเลข n เราต้องเช็คก่อนว่าเลขนั้นเป็นเลขกำลังสองสมบูรณ์หรือไม่ โดยเติม 1 เข้าไปด้วยหรือไม่

ดังนั้น หากอินพุตมีค่าเท่ากับ n =288 ผลลัพธ์จะเป็น True เมื่อบวก 1 แล้วจะกลายเป็น 289 ซึ่งเท่ากับ 17^2

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • res_num :=n + 1
  • sqrt_val :=ส่วนจำนวนเต็มของรากที่สองของ (res_num)
  • ถ้า sqrt_val * sqrt_val เหมือนกับ res_num แล้ว
    • คืนค่า True
  • คืนค่าเท็จ

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

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

from math import sqrt

def solve(n):
   res_num = n + 1
 
   sqrt_val = int(sqrt(res_num))
  
   if sqrt_val * sqrt_val == res_num:
      return True
   return False
      
n = 288
print(solve(n))

อินพุต

288

ผลลัพธ์

True