Числа Фибоначчи (вычисление с помощью цикла while и рекурсии)

2010-01-10 14:13

Числа Фибоначчи – это ряд чисел, в котором каждое последующее число равно сумме двух предыдущих: 1, 1, 2, 3, 5, 8, 13 и т.д.
Формула:
F1 = 1
F2 = 1
Fn = Fn-1 + Fn-2
Пример вычисления:
F3 = F2 + F1 = 1 + 1 = 2
F4 = F3 + F2 = 2 + 1 = 3
F5 = F4 + F3 = 3 + 2 = 5
F6 = F5 + F4 = 5 + 3 = 8
и т.д.

Вычисление n-го числа ряда Фибоначчи с помощью цикла

Алгоритм

  1. ...далее
Сортировка методом пузырька

2010-01-10 14:10

Описание алгоритма

  1. Проход по неупорядоченному множеству (например, списку). При этом, если последующий элемент меньше предыдущего, то они меняются местами. В итоге, самый «тяжелый» элемент оказывается в конце множества. Пример: дано: 4, 7, 3, 6, 1 меняем: 7 и 3, затем 7 и 6, затем 7 и 1 результат: 4, 3, 6, 1, 7
  2. Проход по множеству, исключая последний элемент, т.к. он уже отсортирован. При проходе обмен меньшего последующего на больший предыдущий.
  3. Количество...далее
Сортировка выбором (поиск минимума и перестановка)

2010-01-10 14:07

Описание алгоритма

  1. Найти наименьшее значение в исходном множестве.
  2. Записать его в начало множества, а первый элемент - на место наименьшего.
  3. Снова найти наименьший элемент в оставшемся множестве и переместить его на второе место. Второй элемент при этом перемещается на освободившееся место.
  4. Продолжать выполнять поиcк и обмен, пока не будет достигнут конец множества.

Исходный код на Python

Как найти наименьшее значение в...далее

Решето Эратосфена - алгоритм определения простых чисел

2010-01-10 14:05

Описание алгоритма

Решето Эратосфена – это алгоритм нахождения простых чисел до заданного числа n. В процессе выполнения данного алгоритма постепенно отсеиваются составные числа, кратные простым, начиная с 2.

Исходный код на Python

n = int(input...далее          
Пересечение списков

2010-01-10 14:02

Если даны два списка и необходимо найти их совпадающие элементы (область пересечения списков), т.е. значения элементов, которые присутствуют в обоих списках, то это легко можно сделать с помощью цикла for языка программирования Python.

Код ниже подходит для списков, содержащих неповторяющиеся значения в самих себе. Иначе в результирующем списке могут появиться одинаковые элементы.

Перевод чисел из десятичной системы счисления в двоичную

2010-01-10 13:58

Один из алгоритмов получения двоичного числа из десятичного можно описать следующим образом:

  1. Исходное десятичное число делится на два (основание двоичной системы счисления).
  2. В одну переменную записывается частное в виде целого числа, в другую – остаток в виде строки (если остатка нет, то записывается ноль).
  3. Если частное не было равно нулю, то оно снова делится на два. Переменная, связанная со старым частным связывается с новым (прежнее частное теряется). Новый...далее
Тестирование простоты числа методом перебора делителей

2010-01-10 13:54

Перебор делителей – это алгоритм, применяемый для определения, какое число перед нами: простое или составное.

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

Двоичный (бинарный) поиск элемента в массиве

2010-01-10 13:49

Двоичный поиск значения в списке (или массиве) используется для упорядоченных последовательностей (отсортированных по возрастанию или убыванию). Заключается такой поиск в определении, содержит ли массив определенное значение, а также определение места его нахождения.

Описание алгоритма

  1. Находится средний элемент последовательности. Для этого первый и последний элементы связываются с переменными, а средний вычисляется.
  2. Средний элемент...далее