>  기사  >  백엔드 개발  >  C++를 사용하여 주어진 숫자에서 중복 숫자 제거

C++를 사용하여 주어진 숫자에서 중복 숫자 제거

WBOY
WBOY앞으로
2023-09-01 20:17:06777검색

C++를 사용하여 주어진 숫자에서 중복 숫자 제거

이 글에서는 숫자 n이 주어졌는데, 주어진 숫자에서 중복된 숫자를 제거해야 합니다.

Input: x = 12224
Output: 124

Input: x = 124422
Output: 1242

Input: x = 11332
Output: 132

주어진 문제에서 우리는 모든 숫자를 조사하고 중복된 숫자를 제거할 것입니다.

해결책을 찾는 방법

주어진 방법에서 우리는 오른쪽에서 왼쪽으로 n개의 숫자를 모두 반복합니다. n 모듈로 10을 취하고 n을 10으로 나누어 n의 숫자를 반복합니다. 이제 현재 숫자는 n mod 10입니다. 이전 번호와 비교하여 확인합니다. 숫자가 동일하면 이제 n을 반복합니다. 유사하지 않으면 이 숫자를 새 숫자에 추가하고 이전 숫자를 현재 숫자로 변경한 후 루프를 계속합니다.

Example

#include <bits/stdc++.h>

#define MOD 1000000007

using namespace std;

int main() {
   int n = 1222333232; // given n
   int new_n = 0; // new number
   int po = 1; // will b multiple of ten for new digits
   int prev = -1; // previous digit
   int curr; // current digit
   while(n) {
      curr = n % 10;
      if(prev != curr) { // if a digit is not repeated then we go in this block
         new_n = new_n + (curr * po); // we add a new digit to new_n
         po *= 10;
         prev = curr;
      }
      n /= 10;
   }
   cout << new_n << "\n";
   return 0;
}

Output

123232

위 코드에 대한 설명

위 방법에서는 단순히 n의 숫자를 반복하고 이전 숫자와 현재 숫자가 일치하지 않으면 해당 숫자를 새 숫자에 추가합니다. , 숫자가 추가됨에 따라 현재 숫자와 이전 숫자가 일치하는 경우 숫자 위치에 사용되는 po도 추가합니다. 이 코드 블록을 실행하지 않고 n이 0이 될 때까지 계속 반복합니다.

결론

이 글에서는 주어진 숫자에서 중복된 숫자를 제거하는 문제를 해결했습니다. 우리는 또한 이 문제에 대한 C++ 프로그램과 이 문제를 해결하는 완전한 방법(일반 방법)을 배웠습니다. C, Java, Python 등과 같은 다른 언어로 동일한 프로그램을 작성할 수 있습니다. 이 기사가 도움이 되기를 바랍니다.

위 내용은 C++를 사용하여 주어진 숫자에서 중복 숫자 제거의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제