Паскаль. Основы программирования



              

Задачи, решаемые с помощью размещений


Пример 3. Некто забыл нужный ему номер телефона, который состоит из одной из десяти букв и пяти цифр, но он помнит, что в образовании этого номера участвуют цифры 3, 5, 7, 9. Какое наибольшее количество проб надо сделать, чтобы дозвониться нужному абоненту?

В искомый номер должны войти четыре цифры, которые можно разместить на 5 местах

 различными способами, но пятая цифра может быть любой из 10 цифр (0, 1, 2, ..., 9). Поэтому различных телефонных номеров без буквы будет

Комбинируя эти номера с каждой из десяти букв, получаем:

10

10
.

Составим программу

с использованием процедуры размещений.

Program Problem3;

     uses WinCrt;

     var

        p : longint;

{----------------------------------------------------------------------------------------}

     Procedure placement(n, k : integer;  var r : longint);

          var

             i : integer;

          begin

             r := 1;

             for i := 1 to k do

r := r*(n - k + i)

          end;

{----------------------------------------------------------------------------------------}

      begin

         placement(5, 4, p);

         p := 10*10*p;

         writeln('Надо сделать ', p, ' проб, чтобы дозвониться')

      end.

Пример 4. Сколько размещений из n элементов по m будет начинаться с первого элемента?

Соображения по составлению программы

Из n элементов выберем первый элемент и строго закрепим его на первом месте в получаемых размещениях.

Тогда, в исходном множестве останется n - 1 элементов, из которых надо выбирать еще по m - 1 - му элементу и добавлять к уже имеющемуся и стоящему на первом месте первому элементу.

Теперь остается выяснить, сколькими способами можно из n - 1 выбрать по

 Это можно сделать
  способами.

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

.

Программа

Program Problem4;

     uses WinCrt;

     var

        p      : longint;

        m, n : integer;

{----------------------------------------------------------------------------------------}




Содержание  Назад  Вперед