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

แบ่งตัวเลขเป็นสองส่วนใน C++

บทนำ

โจทย์ง่ายๆ: แบ่งจำนวนเต็ม n เป็นสองจำนวน a และ b โดยที่ a = n/2 (ปัดลง) และ b = n - a

สูตรคณิตศาสตร์

a = n / 2
b = n - a

ตัวอย่างโค้ด

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

void divideTheNumber(int n) {
    int a = n / 2;
    int b = n - a;
    cout << a << " " << b << endl;
}

int main() {
    int n = 13;
    divideTheNumber(n);
}

ผลลัพธ์

6 7

คำอธิบาย

  • n = 13
  • a = 13 / 2 = 6 (integer division ปัดลง)
  • b = 13 - 6 = 7
  • ผลรวม a + b = 13 ✓
  • ความต่าง |a - b| = 1 (น้อยที่สุดที่เป็นไปได้)

สรุป

วิธีแบ่งจำนวนเต็มเป็นสองส่วนที่ใกล้เคียงกันมากที่สุด ใช้ได้กับการแบ่งงานภาระ (Load Balancing) แบบง่ายๆ