Алгоритм печатает сначала L, потом M. По программе понятно, что L Это количество раз, когда число не кратно 10 (каждый раз число делится на 10), а M - общее количество цифр. Понятно, что раз число должно быть наименьшее, а всего 8 цифр, значит может быть как минимум 4 нуля. Больше нулей быть не может, т.к. если в числе есть значимый ноль, то при делении он будет давать кратность десяти. 4 цифры уже есть, осталось подобрать 4 цифры, которые в числе при делении его на 10 не будут давать остаток 0. Это любые цифры от 1 до 9, но так как число минимальное, значит это цифры "1". Получается, 11110000. Переставляем цифры так, чтобы число было минимальное и получается 10000111.
ответ: 10000111
//PascalABC.NET v3.3 1633
var arr: array [1..6, 1..6] of integer;
begin
for var i:=1 to 6 do
for var j:=1 to 6 do
arr[i, j]:=random(-49, 50);
writeln('Исходный массив: ');
for var i:=1 to 6 do
arr[i].PrintLn(', ');
var num:=0;
for var i:=1 to 6 do
if arr[i, 2] < 0 then num += 1;
writeln('Количество отрицательных элементов второго столбца: '+num);
for var i:=1 to 6 do
for var j:=1 to 6 do
if arr[i, j] > 0 then arr[i, j]:=-49;
writeln('Новый массив: ');
for var i:=1 to 6 do
arr[i].PrintLn(', ');
end.
Поделитесь своими знаниями, ответьте на вопрос:
Дана строка из 0 и 1. замените в ней все 0 и 1, а все 1 на 0 паскаль
var stroka:string;
var i:integer;
begin
writeln('Введите строку');
readln(stroka);
for i:=1 to length(stroka) do
begin
if(stroka[i]='1') then
stroka[i]:='0'
else if(stroka[i]='0') then
stroka[i]:='1';
end;
writeln(stroka);
end.