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

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


สมมติว่าเรามีตัวเลข x และ y สองตัว เราต้องเชื่อมมันเข้าด้วยกันและตรวจสอบว่าจำนวนผลลัพธ์เป็นกำลังสองสมบูรณ์หรือไม่

ดังนั้น หากอินพุตเป็น x =2 y =89 ผลลัพธ์จะเป็น True หลังจากเชื่อมตัวเลขแล้วจะเป็น 289 ซึ่งก็คือ 17^2

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

  • first_num :=x เป็นสตริง
  • second_num :=y เป็นสตริง
  • res_num :=เชื่อม first_num และ second_num แล้วแปลงเป็นจำนวนเต็ม
  • sqrt_val :=ส่วนจำนวนเต็มของรากที่สองของ (res_num)
  • ถ้า sqrt_val * sqrt_val เหมือนกับ res_num แล้ว
    • คืนค่า True
  • คืนค่าเท็จ

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

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

from math import sqrt

def solve(x, y):
   first_num = str(x)
   second_num = str(y)
   res_num = int(first_num + second_num)
 
   sqrt_val = int(sqrt(res_num))
  
   if sqrt_val * sqrt_val == res_num:
      return True
   return False
      
x = 2
y = 89
print(solve(x, y))

อินพุต

2, 89

ผลลัพธ์

True