Hilfe beim Array filtern.

Hallo zusammen.

ich habe ein Problem bei einem Array, es werden aus einem Array mit 5 stelligen Zahlen eine zahl geholt und mit einer anderen 5 stelligen Zahl hoch gerechnet, z. B. 66667 Konstante Zahl 10100 die Zahl mit der gerechnet wird. es wird auf jeder stelle der rechnenden Zahl so lange 2 drauf gerechnet bis zu der Stelle der Konstanten Zahl mind. eine Differenz von 2 bleibt. Also z.B. 66667 10100 10102 10104 10120 10122 10124 10140 10142 10144 10300 10302 u.s.w. aus den berechneten Zahlen entsteht ein neues Array, da wenn die erste Konstante Zahl ausgeschöpft ist, wird die 2. Zahl aus einem Array geholt und weiter gerechnet z.B. die Zahl 10110 und so weiter. wenn das neue Array erstellt ist, befinden sich darunter 5 stellige Zahlen die an irgend einer Stelle 3 gleiche Zahlen nebeneinander haben z.B. 43334 oder 44333 diese Zahlen möchte ich aus dem Array entfernen. Kann mir einer erklären wie ich das bewerkstelligen kann , mit if Abfragen oder so. Ich weis nicht wie ich die If abfrage aufbauen muss , da die 3 gleichen Zahlen ja nicht immer an der gleichen stelle stehen und auch nicht immer den gleichen Wert aufweisen, es können ja auch 3 x die 4 oder 3x die 5 sein. je nachdem welche Konstante Zahl ich habe. die Höchste Summe der Konstanten Zahlen ist 88888.

Versuchs mal damit:

long testArray[] = { 9, 99, 991, 2122, 21122, 22323, 33333L, 12345, 1122334455, 111333444, -99999, 0 };

bool dreiGleiche(long value) {
  char buf[12];
  byte count = 0;
  byte lastC = 0;
  ltoa(value, buf, 10);
  byte len = strlen(buf);
  if (len < 3) {
    return false;
  }
  for (byte idx = 0; idx < len; idx++) {
    if (lastC == buf[idx]) {
      if (++count > 2) {
        return true;
      }
    } else {
      lastC = buf[idx];
      count = 1;
    }
  }
  return false;
}

void setup() {
  Serial.begin(115200);
  Serial.println("drei gleiche Ziffern");
  for (byte idx = 0; testArray[idx] != 0L; idx++) {
    if (dreiGleiche(testArray[idx])) {
    Serial.print("3 Ziffern gleich: ");
      Serial.println(testArray[idx]);
    }
  }
}
void loop() {}
drei gleiche Ziffern
3 Ziffern gleich: 33333
3 Ziffern gleich: 111333444
3 Ziffern gleich: -99999