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

แบ่งตัวเลขใหญ่เป็นสองส่วนที่ต่างกัน k ใน C++

บทนำ

โจทย์: หา a, b ที่ทำให้ a + b = n และ a - b = k (โดย a ≥ b)

วิธีแก้ทางคณิตศาสตร์

ระบบสมการ: a + b = n a - b = k บวกกัน: 2a = n + k → a = (n + k) / 2 แล้ว b = n - a

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

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

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

int main() {
    int n = 54, k = 12;
    divideTheNumber(n, k);
}

ผลลัพธ์

33 21

ตรวจสอบ

  • 33 + 21 = 54 ✓
  • 33 - 21 = 12 ✓

หมายเหตุ

ใช้ double เพื่อรองรับกรณี n+k เป็นเลขคี่ (ได้ทศนิยม .5) หากต้องการเฉพาะจำนวนเต็ม ต้องตรวจสอบว่า n+k เป็นเลขคู่ก่อน

สรุป

การแก้ระบบสมการเชิงเส้นสองตัวแปร ใช้ได้จริงในโจทย์แบ่งปันทรัพยากรหรือเงินทอน