Alle Herausforderungen
Schwierig 0 gelöst 0% Erfolgsquote

Zähle Zahlen mit unterschiedlichen Nachbarn

Zähle Werte im Bereich, deren benachbarte Dezimalziffern nie gleich sind.

Zähle alle Ganzzahlen von left bis right (beide einschließlich), bei denen keine benachbarten Ziffern gleich sind. Verwende dabei die übliche Dezimalschreibweise ohne führende Nullen. Die Null und alle anderen einstelligen Zahlen erfüllen die Bedingung.

Implementiere counting_numbers(left, right).

Eingabe

left: Der kleinste erlaubte Wert.

right: Der größte erlaubte Wert.

Ausgabe

Gib zurück, wie viele Werte die Bedingung erfüllen.

Einschränkungen

0 ≤ left ≤ right ≤ 10¹⁸. Der Bereich kann zu groß sein, um jede Zahl einzeln zu prüfen.

Beispiele

Beispiel 1
Eingabe:
left = 10
right = 15

Erwartete Ausgabe:
expected = 5
Eingabe:
long long left = 10;
long long right = 15;

Erwartete Ausgabe:
long long expected = 5;
Eingabe:
long left = 10;
long right = 15;

Erwartete Ausgabe:
long expected = 5;

Erläuterung

Nur 11 hat gleiche benachbarte Ziffern. Die anderen fünf Zahlen erfüllen die Bedingung.

Beispiel 2
Eingabe:
left = 0
right = 9

Erwartete Ausgabe:
expected = 10
Eingabe:
long long left = 0;
long long right = 9;

Erwartete Ausgabe:
long long expected = 10;
Eingabe:
long left = 0;
long right = 9;

Erwartete Ausgabe:
long expected = 10;

Erläuterung

Alle zehn Werte bestehen nur aus einer Ziffer und haben daher keine gleichen Nachbarn.

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.