คำชี้แจงปัญหา
ด้วยอาร์เรย์ "arr" ภารกิจคือการค้นหาจำนวนองค์ประกอบขั้นต่ำที่จะลบออกเพื่อให้อาร์เรย์ทำงานได้ดี
ลำดับ a1, a2, a3 . .an เรียกว่า good ถ้าสำหรับแต่ละองค์ประกอบ a[i] มีองค์ประกอบ a[j] (i ไม่เท่ากับ j) ซึ่ง a[i] + a[j] เป็นกำลังสอง
arr1[] ={1, 1, 7, 1, 5}
ในอาร์เรย์ด้านบนถ้าเราลบองค์ประกอบ '5' อาร์เรย์จะกลายเป็นอาร์เรย์ที่ดี หลังจากนี้คู่ของ arr[i] + arr[j] จะเป็นกำลังสอง −
- arr[0] + arr[1] =(1 + 1) =2 ซึ่งกำลังสอง
- arr[0] + arr[2] =(1 + 7) =8 ซึ่งเป็นกำลังสอง
อัลกอริทึม
<ก่อน>1. เราต้องลบเฉพาะ a[i] ซึ่งไม่มี a[j] ที่ a[i] + a[i] เป็นกำลัง 2.2 สำหรับแต่ละค่า ให้ค้นหาจำนวนที่เกิดขึ้นในอาร์เรย์3 ตรวจสอบว่า a[i] ไม่มีคู่ a[j]ตัวอย่าง
#include#include