Задать вопрос
@afydoz
Вчерашний школьник.

Язык для олимпиадного программирования?

Захотелось выйти за рамки школьной программы и начать участвовать в олимпиадах. Выбрал для изучения Python. Привлекла простота написания кода и его популярность в последнее время. Раньше программировал на Паскале, но на нем далеко не уедешь (в плане будущей профессии ). Но тут ''палка о двух концах" - Python легко писать, но медленная работа, а С - сложнее писать, но быстрая работа. Посоветуйте, что выбрать - Python | Pascal | C/С++
  • Вопрос задан
  • 9243 просмотра
Подписаться 4 Оценить Комментировать
Решения вопроса 1
Вполне подходит для олимпиад. Скорости в большинстве случаев хватает, на всех этапах/олимпиадах в России поддеживается. Если по скорости не укладывается, то лучше переписать на С/C++/Java, но в большинстве случаев проблема скорости возникает из-за недоработанного алгоритма, а не из-за языка. Кстати на некоторых олимпиадах нет ограничения по скорости выполнения. Например на московской олимпиаде по программированию нужно было вообще только ответы сдавать, т.е. можно было очень быстро написать совершенно неоптимизированное решение, поставить минут на 15 выполняться(способ весьма грязный, but who cares). В итоге за 20 минут есть ответ. А если делать качественно, то на размышления и кодирование больше времени суммарно выйдет.

Комментарий писал с прицелом на школьные олимпиады, т.к. судя по посту автор ещё школьник.
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
bobrovskyserg
@bobrovskyserg
Выбор по-любому остаётся за тобой, но зайди на codeforces и посмотри, на чем люди пишут - некоторые из задач не имеют решений на скриптовых языках. Все имеют решения на C++/Java. Да, скорость.
Паскаль быстр, но он всё-таки архаика. C# на мой взгляд уместнее.
Ну и ничто не мешает работать на 2х языках - младшие задачи решаются на Python в 5~10 строк.
Ответ написан
Комментировать
@lega
C++ (или C) для олимпиадных задачек, Python для разработки.
Ответ написан
Комментировать
Найди олимпиадные задачи по программированию, попробуй написать решение на Python, посмотри -- укладывается ли твоё решение в ограничение по скорости.
Лично моё имхо -- знание обоих языков не помешает. Для олимпиадного программирования я бы делал ставку на Python, так как действительно очень легко пишется и читается.
Ответ написан
Комментировать
@coodan
Может, brainfuck подойдет? :)))
Ответ написан
Комментировать
@Alexander1705
Python не подойдёт для школьного олимпиадного программирования, так как ваши программы должны будут улаживаться в определённое время. Например, на Всеукраинской ученической олимпиаде по программированию доступны только Pascal, C и C++.

Учите С++. Я начинал учить именно с него, и хотя возникали некоторые сложности, сейчас ни о чём не жалею, так как теперь легко осваивать любые другие языки, в том числе и Python. На С++ писать не сложно, нужно лишь немного времени, чтоб привыкнуть к синтаксису.

Могу порекомендовать книгу "Язык программирования С++" Стенли Липпмана.
Ответ написан
Комментировать
@potan
Функциональный программист
Scala, F#, Haskell.
Писать легко, работает относительно быстро.
Учить сложнее, но оно того стоит.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы