สมมติว่าเรามีตัวเลข 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