สมมติว่าเรามีตัวเลข n งานของเราคือการหาเลขกำลังสองสมบูรณ์ตัวถัดไปของ n ดังนั้นหากตัวเลข n =1,000 ดังนั้นจำนวนกำลังสองสมบูรณ์ตัวถัดไปคือ 1024 =322
ในการแก้ปัญหานี้ เราได้สแควร์รูทของจำนวนที่กำหนด n แล้วเอาพื้นของมัน จากนั้นแสดงกำลังสองของ (ค่าพื้น + 1)
ตัวอย่าง
#include<iostream> #include<cmath> using namespace std; int justGreaterPerfectSq(int n) { int sq_root = sqrt(n); return (sq_root + 1)*(sq_root + 1); } int main() { int n = 1000; cout << "Nearest perfect square: " << justGreaterPerfectSq(n); }
ผลลัพธ์
Nearest perfect square: 1024