Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++에서 ++ 증감 연산자만으로 두 숫자의 합 구하기

프로그래밍에서 ++ 연산자는 피연산자의 값을 1씩 증가시키는 증감(increment) 연산자입니다. 흥미롭게도 이 연산자를 활용하면 산술 덧셈 연산자(+) 없이도 두 숫자의 합을 구할 수 있습니다. 원리는 간단합니다. 첫 번째 숫자 a에 대해 1을 두 번째 숫자 b의 값만큼 반복해서 더하는 것입니다.

동작 원리

예를 들어 다음과 같은 입력이 주어졌다고 가정해 보겠습니다.

입력: a = 31 , b = 4
출력: 35

설명 − 31에 1을 네 번 더하면 31 + 1 + 1 + 1 + 1 = 35가 됩니다. 즉, b번 만큼의 반복 덧셈으로 a + b의 결과를 얻을 수 있습니다.

알고리즘

입력: 두 정수 a와 b.
1단계: 0부터 b까지 반복하며 2단계를 수행한다.
2단계: a에 1을 더한다.
3단계: a의 값을 출력한다.

C++ 구현 예제

#include <iostream>
using namespace std;
int main(){
   int x = 324 , y= 76;
   cout<<"The sum of "<<x<<" & "<<y;
   if(y>0){
      for(int i= 0; i<y;i++){
         x++;
      }
   } else {
      for(int i= y; i<0;i++){
         x--;
      }
   }
   cout<<" is "<<x;
   return 0;
}

실행 결과

The sum of 324 & 76 is 400

코드 설명

위 예제 코드는 두 번째 수(y)가 양수인 경우와 음수인 경우를 모두 처리할 수 있도록 작성되었습니다.

  • y가 양수일 때: y번 반복하면서 x를 1씩 증가(++ 연산자)시켜 x + y를 계산합니다.
  • y가 음수일 때: 감소 연산자(--)를 사용해 y번 반복하며 x를 1씩 줄여서 뺄셈 효과를 냅니다.

324와 76의 경우, 76번의 반복 동안 x가 1씩 증가하여 최종적으로 400이라는 올바른 합이 출력됩니다.

마무리

이 방식은 ++ 연산자 하나만으로 덧셈을 구현할 수 있다는 점에서 학습용으로 유용하지만, 반복문을 사용하기 때문에 실제 개발 환경에서는 성능상 비효율적입니다. 큰 숫자를 다룰 경우 반복 횟수가 그만큼 늘어나 실행 시간이 길어지기 때문입니다. 따라서 이 기법은 연산자의 동작 원리를 이해하기 위한 개념적 예제로 활용하는 것이 좋습니다.