321NIYAZ123
03.09.2022 04:09

Всем привет Решить 4 задачи любым удобным Длина стен неизменна, т.е. нужно
создать алгоритм только под эту задачку.Используя при этом известные команды (вверх, вниз, влево, вправо, закрасить, сверху стена,
снизу стена, справа стена, слева стена, клетка закрашена, клетка чистая, сверху свободно, снизу свободно, слева свободно, справа свободно) закрасить клетки.

задачи прикреплю ниже:

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
kosikoffpasha
04.12.2022 21:02
[l,r,строка,номер]
[0, 0, "a", 1]
[1, 1, "b", 2]
[1, 2, "bb", 3]
[2, 2, "b", 4]
[0, 3, "abba", 5]
[3, 3, "a", 6]
[3, 4, "aa", 7]
[4, 4, "a", 8]
[3, 5, "aaa", 9]
[4, 5, "aa", 10]
[5, 5, "a", 11]
[3, 6, "", 12]
[4, 6, "aaa", 13]
[5, 6, "aa", 14]
[6, 6, "a", 15]
[2, 7, "bb", 16]
[7, 7, "b", 17]
[6, 8, "aba", 18]
[8, 8, "a", 19]
[7, 9, "bab", 20]
[9, 9, "b", 21]

#код программы Ruby 22
s = "abbbab"
n = 0
for r in 0..s.size-1
    for l in 0..r
        t = s[l..r]
        if t.reverse == t
            n += 1
            p [l,r,t,n]
        end
    end
end
0,0(0 оценок)
Ответ:
Анастасия23102002
01.01.2021 21:32
Думаю нет большой разницы между процедурой и функцией, просто функция куда удобнее.
Для нахождения нода используется алгоритм Эвклида

//PascalABC.Net

function NOD(A, B: integer): integer;
begin
    while A <> B do
        if A > B then A := A - B else B := B - A;
    NOD := A;
end;

procedure pNOD(A, B: integer; var NOD: integer);
begin
    while A <> B do
        if A > B then A := A - B else B := B - A;
    NOD := A;
end;

begin
    var a: Array of integer := (16, 32, 40, 64, 80, 128);
    var n := a[low(a)];
    for var i := low(a) to high(a) do
        pNOD(n, a[i], n);
   
    Writeln(n);
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота