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

C++로 숫자를 뒤집는 프로그램 작성하기

숫자 뒤집기란 무엇인가?

숫자를 뒤집는다는 것은 해당 숫자의 자릿수를 역순으로 배치하여 새로운 숫자를 만드는 것을 의미합니다.

예를 들어, 입력된 숫자가 6529라면 프로그램은 9256을 출력해야 합니다.

다음은 C++로 작성한 숫자 뒤집기 프로그램입니다.

예제 코드

#include <iostream>
using namespace std;
int main() {
    int num = 63972, rev = 0;
    while(num > 0) {
        rev = rev*10 + num%10;
        num = num/10;
    }
    cout<<"Reverse of number is "<<rev;
    return 0;
}

실행 결과

Reverse of number is 27936

코드 동작 원리

위 프로그램에서 뒤집어야 할 숫자는 63972이며, 이 값은 변수 num에 저장됩니다. 뒤집힌 결과는 변수 rev에 저장되며, 초기값은 0입니다.

프로그램의 핵심 로직은 while 루프 안에 있습니다. 이 루프는 num이 0보다 큰 동안 계속 반복됩니다.

루프가 한 번 반복될 때마다 다음 두 가지 연산이 수행됩니다.

  • rev = rev*10 + num%10; — 기존의 rev에 10을 곱해 자릿수를 한 칸 밀어낸 뒤, num을 10으로 나눈 나머지(일의 자리 숫자)를 더합니다.
  • num = num/10;num을 10으로 나누어 이미 처리한 일의 자리 숫자를 제거합니다.

이 핵심 로직은 다음 코드 조각에 잘 나타나 있습니다.

while(num > 0) {
    rev = rev*10 + num%10;
    num = num/10;
}

단계별 실행 과정

입력값이 63972일 때 루프의 진행 과정을 단계별로 살펴보면 다음과 같습니다.

반복numnum % 10rev 계산식rev 결과
16397220 × 10 + 22
2639772 × 10 + 727
3639927 × 10 + 9279
4633279 × 10 + 32793
5662793 × 10 + 627936

모든 반복이 끝나면 rev에는 num의 자릿수가 완전히 뒤집힌 값인 27936이 저장되고, num은 0이 되어 루프가 종료됩니다. 마지막으로 cout을 통해 결과를 화면에 출력합니다.

cout<<"Reverse of number is "<<rev;