Различия между версиями 9 и 10
Версия 9 от 2012-11-05 00:18:07
Размер: 3831
Редактор: FrBrGeorge
Комментарий:
Версия 10 от 2012-11-05 00:18:31
Размер: 3832
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 23: Строка 23:
   * <!> в одну строку/*: `print (lambda a,b,c: max(a,b,c)<a+b+c-max(a,b,c) and "Yes" or "No")(*input())` */    * <!> в одну строку: /* `print (lambda a,b,c: max(a,b,c)<a+b+c-max(a,b,c) and "Yes" or "No")(*input())` */

Логические и побитовые операции

  • (к теме «операторы цикла») Оператор цикла с последовательностью for: простейшее использование с xrange()

  • Основы булевой алгебры: операции «И», «ИЛИ», «НЕ»
    • Таблицы истинности
    • Другие операции
  • Двоичное представление чисел. Побитовые булевы операции.
    • Функции hex(), oct() и bin()

    • Решение задачи «a,b=b,a» с помощью «исключающего ИЛИ»
  • Особенности операций and и or в Python

Домашнее задание

  1. {i} Прочитать о логических операциях и о побитовых операциях в Википедии

  2. Сколько всего может быть различных двухместных логических операций?

  3. Решить задачу о неравенстве треугольника (вести три числа (A, B, C) и вывести, являются ли они сторонами треугольника)
    • в три-пять строк
    • <!> в две строки

    • <!> в одну строку:

  4. (Брудно, Каплан) Вывести все четырёхзначные натуральные числа, в десятичной записи которых нет одинаковых цифр
  5. Проверить, является ли введённое число палиндромом (т. е. в десятичной записи первая цифра совпадает с последней, вторая -- с предпоследней и т. д.)
    • Сделать это без использования последовательностей (списков, строк и т. п.)

  6. Решить-таки олимпиадную задачу из предыдущего Д/З: <!> Сумма кубов (Брудно А. Л., Каплан Л. И.). Сколькими способами заданное натуральное число N можно представить в виде суммы двух кубов натуральных чисел: N = i3 + j3. Перестановка слагаемых нового способа не дает. Операцией возведения в степень 1/3 пользоваться можно только для первоначального приближённого вычисления N1/3, т. к. надеяться на равенство a1/3 == b1/3 нельзя.

    • Для начала решить задачу любым способом
    • Решить задачу при N приблизительно равном 1000000000001

Условные обозначения

  • {o} — тема по Linux

  • <!> ­— необязательная тема

  • {i} — теоретическое задание

  • {*} — тема для самостоятельного изучения


CategoryClass CategoryVmsh

LecturesVMSH/Python/2012-11-02 (последним исправлял пользователь FrBrGeorge 2012-11-17 23:00:28)