How to remove continued repeated digits in a given number with C++

1 Answer

0 votes
#include <iostream> 
 
long removeRepeatedDigits(long n) {
    int previous_digit = n % 10;
 
    long tens_hundreds_thousands_and_more = 10; 
    long result = previous_digit;

    while (n) {
        int current_digit = n % 10;
 
        if (current_digit != previous_digit) {
            result += current_digit * tens_hundreds_thousands_and_more;
 
            previous_digit = current_digit;
            tens_hundreds_thousands_and_more *= 10;
        }
        
        n = n / 10;
    }
 
    return result;
}
 
int main()
{
    long n = 951112722221333331;
     
    n = removeRepeatedDigits(n);
     
    std::cout << n;
}
  
  
  
/*
run:
  
951272131
  
*/

 



answered Sep 23, 2023 by avibootz
edited Sep 24, 2023 by avibootz

Related questions

...