На основі запитання Скільки натуральних чисел <1 000 000 містять цифру 2? . Я шукаю найбільш креативне рішення для підрахунку всіх цілих літрів X
до Y
вмісту цілого числа Z
. Z
може бути від 0 до Y
.
Кожен знайдений цілий число рахується лише один раз, навіть якщо ціле число Z
з’являється частіше. Наприклад:
Z = 2
123 counts 1
22222 also counts 1
Почну з дійсно простого алгоритму, написаного на Java (тому що він улюблений всіма):
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);
}
}
якщо це запустити
java -jar Count.jar 0 1000000 2
Ви отримуєте це як результат:
468559
Оскільки цю проблему не важко вирішити, це просто конкурс на популярність . Виграє найбільш актуальна відповідь, опублікована 28 лютого!
N
може бути, 123
і воно відповідатиме лише тоді, коли існує підряд 123?