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

ค้นหากำลังสองสมบูรณ์ถัดไปที่มากกว่าตัวเลขที่กำหนดใน C++


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