Элементы комбинаторики Составление программ на языке Паскаль


Тема: Элементы комбинаторики. Составление программ на языке Паскаль.

Цели: Формирование знаний, умений и навыков составления алгоритмов комбинаторных задач. Развитие логического и алгоритмического мышления.

Задача 1. (Карты)

Имя входного файла

input.txt

Имя выходного файла

output.txt

Максимальное время работы на одном тесте

2 секунды

Ограничение по памяти

64 Мб

Вася очень любил играть в карты. Однажды он решил написать программу, которая за него будет выбирать правильный ход. Программу он составил, осталось только ее проверить. Для проверки он решил запустить программу для всех возможных перемешиваний колоды. Он знает, что для каждой колоды программа работает ровно одну секунду. Необходимо определить, сколько секунд будет работать проверка на всех возможных перемешиваниях колоды, если в колоде N карт.

Формат входных данных

Во входном файле записано натуральное число  N (1 ≤ N ≤ 20).

Формат выходных данных

В выходной файл выведите количество секунд.

Пример

input.txt

output.txt

1

1

3

6

Решение

program z1;

var

n,i:longint;

k:comp;

begin

assign(input,’input.txt’);

reset(input);

assign(output,’output.txt’);

rewrite(output);

read(n);

k:=1;

for i:=1 to n do

k:=k*i;

writeln(k:0:0);

close(input);

close(output);

end.

Задача 2. (Сувениры)

Имя входного файла

input.txt

Имя выходного файла

output.txt

Максимальное время работы на одном тесте

2 секунды

Ограничение по памяти

64 Мб

Вася ездил отдыхать на море. С моря он привез два одинаковых сувенира. Вася решил подарить сувениры своим друзьям. Только есть загвоздка, что друзей у него N. Он решил определить, сколько есть различных вариантов подарить сувениры двум друзьям из N.

Формат входных данных

Во входном файле записано натуральное число N (2 ≤ N ≤ 2000000000).

Формат выходных данных

В выходной файл выведите количество вариантов.

Пример

input.txt

output.txt

2

1

4

6

Решение

program z1;

var

n: Comp;

begin

assign(input,’input.txt’);

reset(input);

assign(output,’output.txt’);

rewrite(output);

read(n);

writeln((n*(n-1)/2):0:0);

close(input);

close(output);

end.

Задача 3. (Конкурс)

Имя входного файла

input.txt

Имя выходного файла

output.txt

Максимальное время работы на одном тесте

2 секунды

Ограничение по памяти

64 Мб

Для участия в конкурсе из N человек требуется выбрать троих.

Сколькими способами это можно сделать?

Формат входных данных

Во входном файле записано натуральное число N (3 ≤ N ≤ 1000).

Формат выходных данных

В выходной файл выведите количество вариантов.

Пример

input.txt

output.txt

6

20

8

56

Решение

program z1;

var

n: Comp;

begin

assign(input,’input.txt’);

reset(input);

assign(output,’output.txt’);

rewrite(output);

read(n);

writeln((n*(n-1) *(n-2)/6):0:0);

close(input);

close(output);

end.






See also:
Яндекс.Метрика