Загадка про простые числа

Рассмотрим все простые числа до 10^15, записанные словами на русском языке (каноническая запись, между словами ровно один пробел). Пусть они записаны построчно, и строки отсортированы в алфавитном порядке. Внимание, вопрос: какое число будет стоять на первом месте?

(исправил формулировку, изначально неправильно написал)

1 лайк

А алфавитный лексикографический, или как винда по умолчанию сортирует? Он так то тоже алфавитный, но там например 100 раньше чем 2 или 3.

Если не думать - то вроде два, но при втором варианте сортировки за какие нибудь два квинтиллиона с копейками я не ручаюсь…

Возможно, вы неправильно поняли условие. В строках записаны числа словами. Вроде, в этом случае не важно чем сортировать. Т.е. для указанных вами трёх счисел будет такой порядок: два сто три

я правильно понял, просто длина строки может повлиять на стортировку: два миллиона два сто три

Если одна строка является префиксом другой, то более короткая пишется раньше. В вашем примере будет такой порядок: два два миллиона сто три

Если вы мне не верите - вы можете попробовать сами:

это все от реализации алгоритма зависит, который сортирует. я потому и уточнил для начала.

Забавно. В самом деле проводник так сортирует. В общем, сортировка предполагается лексикографическая (на проводник внимания не обращаем).

ну тогда я сразу правильно ответил. Просто специфика работы заставляет все досконально выяснить)

Ответ “2” – неверный :slight_smile:

а, ну да, там же еще восемсот может быть… не все учел)

тогда наверно 829, но это тоже только догадка.

пока искал список простых чисел наткнулся вот на что. не думал что так бывает.

хотя нет, все-таки 881 еще раньше по алфавиту будет.

а 89, получается, еще раньше. надо мне русский учить)

1 лайк

В общем, теплее, но правильного ответа пока нет.

ну вобщем чем больше восьмерок там будет с начала - тем лучше. можно в принципе и алгоритмик накидать, который будет проверять простоту и преобразовывать в текст, но сейчас немного не до этого. спасибо за загадку, интересная)

Ну и какой смысл этого извращения???

В качестве подсказки: для нахождения ответа достаточно логических рассуждений и проверки нескольких конкретных чисел на простоту (я воспользовался WolframAlpha). Так что это действительно больше загадка, а не задачка по программированию, как могло показаться на первый взгляд.

42

Ответ и решение. Решал сам, мог и ошибиться. Пожалуйста, проверьте.

[details=Спойлер]Ответ: 18018018881

Решение. Отсортируем по алфавиту отдельные слова, которые используются для текстовой записи чисел. Начало этого списка будет выглядеть так: восемнадцать восемь восемьдесят восемьсот два две …

Алгоритм будет такой: последовательно пребираем записи чисел в алфавитном порядке, пока не встретим простое число. Число 18 очевидно простым не является, но попробуем начать запись числа со слова “восемнадцать”. Среди слов, которые могут за ним следовать, первым по алфавиту будет “миллиардов”. (Я специально в условии ограничил диапазон величиной 10^15, чтобы не заставлять людей вспоминать про квадриллионы. Также нужно напомнить, что устаревшее слово “биллион” не исползуется для канонической записи.) Далее снова попробуем поставить минимальное по алфавиту слово “восемнадцать”. Продолжая аналогично, получим следующую последовательнсть чисел в порядке перебора: 18 000 000 000 18 000 000 018 18 018 000 000 18 018 000 018 18 018 018 000 18 018 018 018 18 018 018 008 18 018 018 08*

Теперь диапазон чисел от 18018018080 до 18018018090 нужно проверить на простоту. Я сделал запрос в WolframAlpha: prime numbers from 18018018080 to 18018018090 и получил ответ, что простых чисел в данном диапазоне нет. Продолжаем перебор: 18 018 018 818 18 018 018 808 18 018 018 88*

В диапазоне чисел от 18018018880 до 18018018890 есть только одно простое число: 18018018881 Значит, оно и есть ответ.

P.S. Задачу увидел здесь. Обсуждалась в контексте немецкого и английского языков. Просто переформулировал её для русского. [/details]

83

Какое слово из используемых для записи чисел стоит раньше всех по алфавиту?

Если вики посмотреть - то вроде анвигинтиллион - 1066 по короткой шкале именований. но это очень много, боюсь даже вольфрамАльфа надорвется на этих диапазонах простые искать.

Ну а с учётом ограничения 10^15 ?