Данил Душистов: «Решение 50 типовых задач по программированию на языке Pascal»
34
Не интересуясь вопросом ее вывода и корректности, мы будем использовать тот ее вариант,
который написан после второго знака равенства (если смотреть слева направо), так как он наиболее
оптимален для вычислений и позволит обойтись двумя циклами (для числителя for с downto, для
знаменателя – просто for). Для числителя и знаменателя предусмотрим соответственно переменные
num
(от англ. numerator – «числитель») и denom (от англ. denominator – «знаменатель»), которым
нужно поначалу присвоить значения 1, чтобы осуществить контроль частных случаев (этот вопрос
упомянут в предыдущей задаче):
1) При k = 0 переменная num останется неизменной и будет равна 1, так как невозможен вход
в цикл с уменьшением от n до (n + 1), переменная denom будет равна 1 как 0!;
2)
При n = k num и denom будут вычислены и при делении дадут единицу;
3) При n = k = 0 переменная denom будет вычислена как 0!, а переменная num не изменится
по невозможности входа в цикл с уменьшением от 0 до 1.
Код:
1.
program NumOfCombinations;
2.
3.
var
4.
i, n, k: byte;
5.
num, denom: integer;
6.
7.
begin
8.
readln(n, k);
9.
num := 1;
10.
for i := n downto n – k + 1 do begin
11.
num := num * i
12.
end;
13.
denom := 1;
14.
for i := 1 to k do begin
15.
denom := denom * i
16.
end;
17.
writeln(num div denom)
18.
end.
Задача № 30. Вывести таблицу квадратов и кубов всех натуральных чисел до n
Формулировка. Дано натуральное число n, меньшее 256. Используя псевдографику, вывести
на экран таблицу квадратов и кубов всех натуральных чисел от 1 до n включительно.
Примечание: псевдографика – это совокупность символов для формирования видимых графи-
ческих примитивов (линий, прямоугольников, рамок, таблиц и т. д.). Она была актуальна в те дале-
кие времена, когда устройства вывода компьютеров не способны были работать с графикой, либо
это было проблематично.
Символы, использующиеся для псевдографики, должны быть включены в набор используе-
мого в терминале (консоли) компьютерного шрифта.
Do'stlaringiz bilan baham: |