한 변수 선형 방정식이란?
한 변수를 포함하는 모든 선형 방정식은 aX + b = cX + d 형태로 나타낼 수 있습니다. 여기서 a, b, c, d의 값이 주어졌을 때, 미지수 X의 값을 구하는 것이 목표입니다.
예를 들어 5X + 3 = 4X + 9라는 방정식이 주어지면, 양변을 정리하여 X = 6이라는 해를 구할 수 있습니다. 이러한 계산 과정을 C++ 프로그램으로 자동화할 수 있습니다.
C++ 구현 예제
다음은 한 변수 선형 방정식을 풀는 C++ 프로그램입니다.
#include<iostream>
using namespace std;
int main() {
float a, b, c, d, X;
cout<<"The form of the linear equation in one variable is: aX + b = cX + d"<<endl;
cout<<"Enter the values of a, b, c, d : "<<endl;
cin>>a>>b>>c>>d;
cout<<"The equation is "<<a<<"X + "<<b<<" = "<<c<<"X + "<<d<<endl;
if(a==c && b==d)
cout<<"There are infinite solutions possible for this equation"<<endl;
else if(a==c)
cout<<"This is a wrong equation"<<endl;
else {
X = (d-b)/(a-c);
cout<<"The value of X = "<< X <<endl;
}
}실행 결과
위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
The form of the linear equation in one variable is: aX + b = cX + d Enter the values of a, b, c, d : The equation is 5X + 3 = 4X + 9 The value of X = 6
코드 상세 설명
1. 입력 및 방정식 출력
프로그램이 시작되면 먼저 사용자로부터 a, b, c, d 네 개의 값을 입력받습니다. 그런 다음 입력된 값으로 구성된 방정식을 화면에 출력합니다.
cout<<"The form of the linear equation in one variable is: aX + b = cX + d"<<endl; cout<<"Enter the values of a, b, c, d : "<<endl; cin>>a>>b>>c>>d; cout<<"The equation is "<<a<<"X + "<<b<<" = "<<c<<"X + "<<d<<endl;
2. 조건 판단 및 해 계산
입력된 값에 따라 세 가지 경우로 나뉩니다.
- a == c 이고 b == d인 경우: 양변이 완전히 동일하므로 이 방정식은 무수히 많은 해를 가집니다. 어떤 X 값을 대입해도 등식이 성립하기 때문입니다.
- a == c 이지만 b != d인 경우: 양변에서 X항이 소거되어 남는 상수항이 서로 다르므로, 이 방정식은 성립하지 않는 잘못된 방정식입니다.
- 그 외의 경우: 방정식을 X에 대해 정리하면 X = (d − b) / (a − c)가 되며, 이 공식으로 유일한 해를 계산하여 출력합니다.
if(a==c && b==d)
cout<<"There are infinite solutions possible for this equation"<<endl;
else if(a==c)
cout<<"This is a wrong equation"<<endl;
else {
X = (d-b)/(a-c);
cout<<"The value of X = "<< X <<endl;
}마무리
이 프로그램은 단순한 산술 연산만으로 선형 방정식을 해결하지만, 조건문을 활용해 특수한 경우(무한 해, 해 없음)까지 처리한다는 점에서 실용적인 예제입니다. 실제 프로젝트에서는 사용자 입력 검증이나 부동소수점 오차 처리 등을 추가하면 더 견고한 프로그램을 만들 수 있습니다.