• Каков алгоритм и суть работы реально существующего скрипта 100% предсказания результата, загаданного человеком?

    @Eddy_Em
    Советую почитать "математические фокусы" Якова Исидоровича. Откроете для себя много новой "магии".
    Ответ написан
    Комментировать
  • Как найти минимальное число N, которое в степени N делится на A?

    fornit1917
    @fornit1917
    Все дело в математике.

    Сначала сделайте факторизацию A. Представьте его в виде П(ai^pi), i=1..k, где ai - различные простые числа.
    (т.е. a1^p1 * a2^p2 * ... * ak^pk).
    Очевидно, что N надо искать в виде П(ai^qi), i=1..k. Надо найти степени qi. Как это сделать?
    N^N = П(ai^(N*qi)). Сопоставляя с формулой для A и понимая, что N^N должно быть не меньше A и делиться на него, получаем следующее ограничение:

    N*qi >= pi или qi*(ai^qi) >= pi для всех i.

    Нам нужно найти минимальное П(ai^qi) при обозначенном выше ограничении. Дальше, я думаю, справитесь.
    Ответ написан
    Комментировать
  • Какой язык программирования подойдет для олимпиад?

    @mamkaololosha
    Python - чит по скорости набора кода и базовым алгоритмам (поиск, сортировка). Можете проиграть по времени на более сложных задачах.
    Java - 50/50. Кода больше писать, скорости побольше, чем у питона.
    C++ - чит по скорости выполнения. Если обходиться только std::vector, std::map, std::sort, std::pair и не лезть в память, то наиболее оптимальный вариант. Есть мастера, которые используют просто массив вместо всего.
    Ответ написан
    Комментировать
  • Какой язык программирования подойдет для олимпиад?

    @Avery007
    Я бы выбрал Python, на нём будет проще писать алгоритмы для олимпиадных задач, чем на C++ и Java. Тем более динамическая типизация(Python), лучше подойдёт чем статическая. Так же, он более лёгок в изучении, нежели Java и тем более C++, который вы за 8 дней на достаточном уровне вряд ли выучите, так что Python будет лучшим выбором.
    Ответ написан
    Комментировать
  • Какой язык программирования подойдет для олимпиад?

    @raiboon
    Python. Это, как правило чит - он сильно экономит время при решении любых задач, при его хорошем знании и знании нужного алгоритма, некоторые задачи решатся import решение.
    Зато C++ может помочь вам уложиться в требования быстродействия-памяти, если вы даже не знаете оптимального алгоритма.
    Ответ написан
    Комментировать
  • Питон. Как изучать?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Окей, берём nginx, включаем cgi, и накатываем like this. Вот вам и PHP-style на питоне. Вместо echo используем print.

    Но, это не комильфо. Хотя, что забавно, python весьма юзабелен в таком виде, отсутствие логики и связности процессов (всё таки каждое обращение - загружается отдельный libpython.so) сводят на нет любые большие проекты.

    Так что смотря что Вам больше нравиться. Хочется больше велосипедов? Flask Вам в руки. Хочется быстрого развёртывания? Привет, django. Ищете хардкора? BaseHTTPServer имеет почти всё, что нужно, а чего нет - можно и самим придумать. А если требуется надёжность, возможно имеет смысл взглянуть на руби-стек, ибо пусть django и мейнстрим, пусть он и не сильно новый, всё таки у RoR аудитория больше и сообщество посильнее, тем более что магии в ruby более чем достаточно.
    Ответ написан
    Комментировать
  • Питон. Как изучать?

    sim3x
    @sim3x
    И почему сервер каждый раз перезагружать нужно?

    потому, что происходит компиляция py -> pyc. Для продакшена нет необходимости менять код часто. Но и для такого случая у uWSGI есть ключ.
    В питоне раньше чем в пхп появились дев-сервера, которые позволяют про такое не вспоминать

    В Php все гораздо проще. Имею index.php и там делаю все что хочу, а в питоне для простого хелоу ворлда нужно городить


    попробуйте запустить пхп скрипт под uwsgi - увидите, что нет

    Поставил связку nginx + uwsgi + python3

    это связка для продакшена. В ней не хватает virtualenv + pip

    На дев машинах все пользуются
    # django
    $ mkvirtualenv test-django
    (test-django)$ pip install django
    (test-django)$ django-admin startproject testdjango
    (test-django)$ python manage.py runserver

    # flask
    $ mkvirtualenv test-flask
    (test-flask)$ pip install Flask
    (test-flask)$ echo 'from flask import Flask
    app = Flask(__name__)
    
    @app.route("/")
    def hello():
        return "Hello World!"
    
    if __name__ == "__main__":
        app.run()'>hello.py
    (test-flask)$ python hello.py

    # такой подход только-только входит в пхп

    По поводу обучения
    https://www.google.com/search?q=python+tutorial
    About 13,200,000 results
    Ответ написан
    1 комментарий
  • Питон. Как изучать?

    @koriaf
    Если интересна именно веб-разработка — начинайте сразу с какого-нибуь фреймворка, Django, например. Изучение можно начинать с документации на её сайте, там отличные примеры.

    Если интересен сам язык, то проще запускать скрипты прямо из консоли и экспериментировать со структурой языка, а уже потом заниматься вебом.

    Во времена моего изучения языка хорошей книжкой было Beginning Python — From Novice To Professional (2005).
    Ответ написан
    1 комментарий
  • Как программировать на ноутбуке с внешним монитором?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Второй моник у ноута - для меня спасение. Дело даже не в диагонали, я бы предпочел два маленьких монитора одному большому.
    Ответ написан
    Комментировать
  • Как программировать на ноутбуке с внешним монитором?

    @slvABTOP
    не бойся) покупай, тебя потом не заставишь работать за одним)
    Ответ написан
    Комментировать
  • Какой язык с семейства Си учить ?

    afiskon
    @afiskon
    Ботайте Си. Тут есть небольшая серия постов, которая вам в этом поможет.
    Ответ написан
    Комментировать
  • Какой язык с семейства Си учить ?

    lubba
    @lubba
    Начать безусловно с С. Потом, поняв основные принципы - пробовать себя в ООП, т.е. в С++.
    ОС имеет значение только потому, что будут небольшие различия в программах для *nix и windows, но начинать практически все равно где.
    Желательно брать при этом не IDE, а текстовый редактор, а компилировать и запускать через консоль. Это немного непривычный способ для работы под виндой, но он точно вас многому научит

    А вообще можно поставить на другой диск ubuntu и работать в ней.
    Ответ написан
    7 комментариев
  • Какой язык с семейства Си учить ?

    Properrr
    @Properrr
    НЕТ никакой разницы: С++\С\C#\ObjecC...
    Просто решаются разные задачи. Незнающие люди пугаются "указателей" и ручным управлением памяти. НЕ 1 сишный девелопер не скажет, что это является проблемой для него xD

    Можно погрузиться на 3 месяца в С, потом скакануть на C++, оседлать ООП и дальше в свободное плаванье. Прыгнуть потом на C# будет очень просто(неделя на изучение тонкостей и сборщика мусора).

    Захотите стать полиморфным си-монстром прыгните еще на месяцок в ObjC(преимущественно MAC OS, iOS development ;)
    Ответ написан
    Комментировать
  • Как узнать, что поступил JSON запрос на PHP?

    valerium
    @valerium
    Изобретая велосипед
    @dpr дал неплохой совет, но если так уж хочется скрыть кухню от пользователя, то почему бы не воспользоваться встроенными в протокол HTTP возможностями?

    На стороне клиента
    xmlhttp.setRequestHeader('Accept', 'application/json');


    На стороне сервера
    if ($_SERVER['HTTP_ACCEPT'] == 'application/json') {
        // тут генерируем JSON
    } else {
        // тут генерируем HTML
    }


    Использование HTTP-заголовка Accept предпочтительнее, чем HTTP_X_REQUESTED_WITH, потому что
    1. вы точно знаете, что передали заголовок ручками, а не полагаетесь на разработчиков браузера,
    2. используете более старую и устоявшюся (но не устаревшую) возможность, встроенную в протокол,
    3. оставляете себе задел на использование других представлений, например, XML, CVS, Plain text и т. д.
    Ответ написан
    2 комментария
  • Как написать запрос к базе на Yii?

    @slvABTOP
    может рано за Yii взялся? подучил бы базовые вещи и прочее сперва?
    Ответ написан
    Комментировать
  • Что можно реализовать на разных языках программирования? С++ Java Python на какие ОС?

    В первую очередь нужно научится "думать как программист"... но это все бредни)

    Если хотите реально чему-то научится то стоит начать с основ.
    Это Керниган Ритчи "Язык программирования Си".

    С++ не очень сложный язык. Он очень неоднозначный - одна задача может быть решена разными способами и у каждого из них будут свои недостатки. Тем более требует довольно специфических хаков против всяких там SFINAE и constant cast'ов.
    Особенно в последнее время стандартов С++ наплодилось...

    Учить С++ стоит, но до конца разобраться во всём будет очень сложно.
    По минимуму можно прочитать Герберта Шилдтa
    У него есть другие толковые книги по С# и Java - тоже можете глянуть.
    Ну и мне нравится Подбельский.

    С++ хорошо подходит для десктопных приложений.
    Тут можно почитать Макса Шлее Qt 4.8
    При этом особых сверхъестественных навыков С++ не нужно.
    Если хотите ити в "про" уровень - учите коллекцию библиоте boost.

    Java в последнее время очень хорошо себя зарекомендовала в вэбе.
    Хватит первого тома Core Java. Из фреймворков могу посоветовать Grails и Play2.

    Python / JS можно выучить на курсах Codecademy за 2-3 недели. Там же можно разгребсти html/css.

    Если хотите пойти в вэб...
    Желательно разобраться в haml sass compass stylus jade grunt bower yeoman bower angular библиотеках.

    Желательно разобраться с шаблонами проектирования, и почитать Мартина Фаулера.
    Есть ещё книги из серии Pragmatic Programmer самое интересное что у этого издательства нет ни одной плохой книги.

    Вообще по программированию и методологиям в целом стоит почитать совершенный код.
    Можно ещё почитать чистый код, и идеальную архитектуру.

    Для кроссплатформенных мобильных приложений можно разобраться с Air и Flex.
    Ответ написан
    Комментировать