Правила просты:
- Первые n простых чисел (не простых ниже n ) должны быть напечатаны в стандартный вывод, разделенные символами новой строки (простые числа должны быть сгенерированы в коде)
- простые числа не могут быть сгенерированы встроенной функцией или библиотекой , то есть использование встроенной или библиотечной функции, такой как, prime = get_nth_prime (n), is_a_prime (number) или factorlist = list_all_factors (number), не будет очень креативным.
Оценка - скажем, мы определяем Score = f ([число символов в коде]), O ( f (n)) - сложность вашего алгоритма, где n - число простых чисел, которые он находит. Так, например, если у вас есть 300-символьный код со сложностью O (n ^ 2), оценка составляет 300 ^ 2 = 90000 , для 300 знаков с O (n * ln (n)) оценка становится 300 * 5.7 = 1711.13 ( давайте для простоты предположим, что все журналы являются натуральными)
Используйте любой существующий язык программирования, выигрывает самый низкий балл
Изменить: проблема была изменена с поиска «первых 1000000 простых чисел» на «первые n простых чисел» из-за путаницы в том, что такое «n» в O (f (n)), n - это число найденных простых чисел (поиск простых чисел проблема здесь и так сложность задачи зависит от числа найденных простых чисел)
Примечание: уточнить некоторые неурядицы на сложности, если «п» число простых чисел , вы найдете и «N» является п - й премьер - Found, сложность в терминах п и N не эквивалентны т.е. O (F (N))! = O (f (N)) as, f (N)! = Постоянная * f (n) и N! = Постоянная * n, потому что мы знаем, что n-я простая функция не является линейной, хотя, так как мы находили 'n' сложность простых чисел должна быть легко выражаемой через 'n'.
Как указал Кибби, вы можете посетить этот сайт, чтобы проверить свои решения ( здесь приведен старый список документов Google)
Пожалуйста, включите их в ваше решение -
Какова сложность вашей программы (включая базовый анализ, если не тривиальный)
длина символа
окончательный расчетный балл
Это мой первый вопрос CodeGolf, поэтому, если в вышеприведенных правилах есть ошибка или лазейка, пожалуйста, укажите на них.
1[\p:i.78498
моим ответом для этого 1[\p:i.1000000
. Даже если предположить, что внутренний простой алгоритм J равен O (n ^ 2), мой счет все равно будет только 196.
n
является ли число простых чисел или максимальным простым, и все игнорируют тот факт, что сложение чисел в диапазоне 0..n
равно O(logn)
, а умножение и деление еще дороже. Я предлагаю вам привести несколько примеров алгоритмов вместе с их правильной сложностью.
O-tilde(k^6)
. Это приводит к тому, что любой, кто заявляет, что время выполнения лучше, чем кто-то O-tilde(n ln n (ln(n ln n))^6)
, неправильно понял некоторую часть проблемы; и на вопрос о том, как O-tilde
сложности должны быть обработаны в оценке.