How to check if a number is a repdigit number (a natural number composed of repeated digits) in C

1 Answer

0 votes
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
 
char* set(char str[]) {
    int index = 0;
  
    for (int i = 0; str[i] != '\0'; i++) {
        int j;
        for (j = 0; j < i; j++) {
            if (str[i] == str[j]) {
                break;
            }
        }
   
        if (j == i) {
            str[index++] = str[i];
        }
    }
   
    str[index] = '\0';
   
    return str;
}
  
bool isRepdigitNumber(int num) {
    char buf[32];
   
    sprintf(buf, "%d", num);
  
    return strlen(set(buf)) == 1;
}
  
int main() {
    int num = 88888888;
      
    if (isRepdigitNumber(num)) {
        puts("yes");
    } else {
        puts("no");
    }
      
    return 0;
}
  
  
  
/*
run:
  
yes
  
*/

 



answered Feb 9, 2024 by avibootz
edited Feb 9, 2024 by avibootz
...