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

โปรแกรม C++ เพื่อค้นหาค่ามัธยฐานขององค์ประกอบสูงสุดที่เป็นไปได้ซึ่งผลรวมคือ s


สมมติว่าเรามีตัวเลขสองตัว n และ s เราต้องหาค่ามัธยฐานสูงสุดที่เป็นไปได้ของอาร์เรย์ขององค์ประกอบที่ไม่ใช่ค่าลบ n ตัว ดังนั้นผลรวมขององค์ประกอบจะเท่ากับ s

ดังนั้นหากอินพุตเป็นเหมือน n =3; s =5 ดังนั้นผลลัพธ์จะเป็น 2 เพราะสำหรับอาร์เรย์ [1, 2, 2] ผลรวมคือ 5 และค่ามัธยฐานคือ 2

ขั้นตอน

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

m := floor of (n / 2) + 1
return floor of (s / m)

ตัวอย่าง

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

#include <bits/stdc++.h>
using namespace std;

int solve(int n, int s) {
   int m = n / 2 + 1;
   return s / m;
}
int main() {
   int n = 3;
   int s = 5;
   cout << solve(n, s) << endl;
}

อินพุต

3, 5

ผลลัพธ์

2