Составить программу, вычисляющую это значение для любого значения n, если n<=30 - Free Pascal
Формулировка задачи:
Две цифры
n-
значных чисел можно составить, используя цифры5
и9
, в которых три одинаковые цифры не стоят рядом? Дляn=3
ответ будет6
. Составить программу, вычисляющую это значение для любого значенияn
, еслиn<=30
Решение задачи: «Составить программу, вычисляющую это значение для любого значения n, если n<=30»
textual
Листинг программы
var i, j, n, res: longint; a: array[1..30, 1..4] of longint; begin read(n); if n = 0 then writeln(0) else if n = 1 then writeln(2) else if n = 2 then writeln(4) else begin res := 0; for i:=1 to 30 do for j:=1 to 4 do a[i,j]:=0; a[2, 1] := 1; a[2, 2] := 1; a[2, 3] := 1; a[2, 4] := 1; {//55,99,59,95} for i := 2 to n - 1 do begin inc(a[i + 1, 3], a[i, 1]); inc(a[i + 1, 4], a[i, 2]); inc(a[i + 1, 2], a[i, 3]); inc(a[i + 1, 4], a[i, 3]); inc(a[i + 1, 1], a[i, 4]); inc(a[i + 1, 3], a[i, 4]); end; for i := 1 to 4 do inc(res, a[n, i]); writeln(res); end; end.
Объяснение кода листинга программы
- Объявлены переменные i, j, n, res, a, которые будут использоваться в программе.
- С помощью функции read() в переменную n считывается значение, которое будет использоваться в программе.
- Если n = 0, то выводится 0.
- Если n = 1, то выводится 2.
- Если n = 2, то выводится 4.
- Если n > 2, то выполняется следующий блок кода.
- Переменная res инициализируется значением 0.
- Массив a размером 30x4 заполняется нулями.
- Значения a[2,1], a[2,2], a[2,3], a[2,4] инициализируются единицами.
- Для i = 2 to n-1 выполняется следующий блок кода.
- Значения a[i+1,3], a[i,1] увеличиваются на единицу.
- Значения a[i+1,4], a[i,2] увеличиваются на единицу.
- Значения a[i+1,2], a[i,3] увеличиваются на единицу.
- Значения a[i+1,4], a[i,3] увеличиваются на единицу.
- Значения a[i+1,1], a[i,4] увеличиваются на единицу.
- Значения a[i+1,3], a[i,4] увеличиваются на единицу.
- После завершения цикла, значения a[i+1,3], a[i,1], a[i+1,4], a[i,2], a[i+1,2], a[i,3], a[i+1,4], a[i,3], a[i+1,1], a[i,4], a[i+1,3], a[i,4] увеличиваются на единицу.
- Значения a[1,i], a[2,i], a[3,i], a[4,i] для i = 1 to 4 добавляются к переменной res.
- Выводится значение переменной res.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д