Basierend auf der Frage Wie viele positive ganze Zahlen <1.000.000 enthalten die Ziffer 2? . Ich bin auf der Suche nach der kreativsten Lösung, um alle Ganzzahlen von X
bis Y
zur Ganzzahl zu zählen Z
. Z
kann von 0 bis sein Y
.
Jede gefundene Ganzzahl zählt nur einmal, auch wenn die Ganzzahl Z
häufiger vorkommt. Beispielsweise:
Z = 2
123 counts 1
22222 also counts 1
Ich werde mit einem wirklich einfachen Algorithmus beginnen, der in Java geschrieben ist (weil er von allen geliebt wird):
public class Count {
public static void main(String[] args) {
int count = 0;
for (int i = Integer.parseInt(args[0]); i <= Integer.parseInt(args[1]); i++) {
if (Integer.toString(i).contains(args[2])) {
count++;
}
}
System.out.println(count);
}
}
Wenn Sie dies mit ausführen
java -jar Count.jar 0 1000000 2
Sie erhalten dies als Ergebnis:
468559
Da dieses Problem nicht schwer zu lösen ist, handelt es sich nur um einen Beliebtheitswettbewerb . Die am besten bewertete Antwort, die bis zum 28. Februar veröffentlicht wurde, gewinnt!
N
kann sein 123
und es würde nur passen, wenn die Teilzeichenfolge 123 existiert?