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

1 Answer

0 votes
#include <stdio.h>
  
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);
      
    printf("%d", n);
    
    return 0;
}
   
   
   
/*
run:
   
951272131
   
*/

 



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

Related questions

...