Program lab;uses crt; vari,a: integer;M: array [1 .. 30] of integer; begin clrscr; // Очистка экрана randomize; // инициализирует рандом a:=0; // инициализирует аккумулятор for i:=1 to 30 do M[i] := random(1000); // заполняет массив рандомными числами for i:=1 to 30 do if ((M[i] mod 17) = 0) or ((M[i] mod 13) = 0) then // если остаток от деления на 17 или 13 равен 0... a := a + M[i]; // то добавить число к сумме // если аккумулятор больше 0, то вывести вывести его значение if a>0 then writeln('a = ',a) // иначе вывести "чисел нет" else writeln('чисел нет');end.
Решается обычным перебором 0 - нет 01 возможно Б, разделяем на 2 варианта 011 (Д) или Б 1 Д 0 | Б 10 (Г) Д 01(Б) | Б Г 1 | Б 101 (101 не существует, значит отсекаем этот вариант) ДБ 0 | Д 010 (также убираем) | БГ 10(Г) ДБ 00 | БГГ 0 | БГ 100(В) ДБ 000(А) |БГГ 00 | БГВ 0 ДБА 1 | БГГ 001(убираем) | БГВ 01(Б) ДБА 11(убираем) | БГВБ 1 | БГВ 011(Д) БГВБ 10(Г) | БГВД 0 осталось 2 цифры БГВБГ 00( убираем) | БГВБ 1000(убираем) | БГВД 000(А) следователь у нас остался только 1 вариант. это БГВДА Лучше и нагляднее все это расписать деревом, но тут как вам удобнее
vari,a: integer;M: array [1 .. 30] of integer;
begin clrscr; // Очистка экрана randomize; // инициализирует рандом a:=0; // инициализирует аккумулятор for i:=1 to 30 do M[i] := random(1000); // заполняет массив рандомными числами for i:=1 to 30 do if ((M[i] mod 17) = 0) or ((M[i] mod 13) = 0) then // если остаток от деления на 17 или 13 равен 0... a := a + M[i]; // то добавить число к сумме // если аккумулятор больше 0, то вывести вывести его значение if a>0 then writeln('a = ',a) // иначе вывести "чисел нет" else writeln('чисел нет');end.
0 - нет
01 возможно Б, разделяем на 2 варианта
011 (Д) или Б 1
Д 0 | Б 10 (Г)
Д 01(Б) | Б Г 1 | Б 101 (101 не существует, значит отсекаем этот вариант)
ДБ 0 | Д 010 (также убираем) | БГ 10(Г)
ДБ 00 | БГГ 0 | БГ 100(В)
ДБ 000(А) |БГГ 00 | БГВ 0
ДБА 1 | БГГ 001(убираем) | БГВ 01(Б)
ДБА 11(убираем) | БГВБ 1 | БГВ 011(Д)
БГВБ 10(Г) | БГВД 0
осталось 2 цифры
БГВБГ 00( убираем) | БГВБ 1000(убираем) | БГВД 000(А)
следователь у нас остался только 1 вариант. это БГВДА
Лучше и нагляднее все это расписать деревом, но тут как вам удобнее