М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Eskhere
Eskhere
23.02.2020 06:14 •  Информатика

Укажите наименьшее число x, при вводе которого алгоритм печатает сначала 4, а потом 8. var x, l, m : integer; begin readln(x); l: =0; m: =0; while x> 0 do begin m: = m + 1; if x mod 10 < > 0 then l: = l + 1; x: = x div 10; end; writeln(l); writeln(m); end.

👇
Ответ:
Azadamurshaeva
Azadamurshaeva
23.02.2020

Алгоритм печатает сначала L, потом M. По программе понятно, что L Это количество раз, когда число не кратно 10 (каждый раз число делится на 10), а M - общее количество цифр. Понятно, что раз число должно быть наименьшее, а всего 8 цифр, значит может быть как минимум 4 нуля. Больше нулей быть не может, т.к. если в числе есть значимый ноль, то при делении он будет давать кратность десяти. 4 цифры уже есть, осталось подобрать 4 цифры, которые в числе при делении его на 10 не будут давать остаток 0. Это любые цифры от 1 до 9, но так как число минимальное, значит это цифры "1". Получается, 11110000. Переставляем цифры так, чтобы число было минимальное и получается 10000111.

ответ: 10000111

4,8(53 оценок)
Открыть все ответы
Ответ:
VladBugorkov
VladBugorkov
23.02.2020
Const   N = 10;   
var   a, S1, S2: Integer;   
i, Q1, Q2: Byte;   
begin   
S1 := 0; Q1 := 0;   
S2 := 0; Q2 := 0;  
writeln('Введите ', N, ' чисел:');   
for i := 1 to N do 
begin     
read(a);     
if a < 0 then 
begin      
S1 := S1 + a;       
inc(Q1)     
end;     
if a > 0 then 
begin       
S2 := S2 + a;       
inc(Q2)     
end;   
end;   
writeln;   
if Q1 > 0 then 
begin     
writeln('Сумма отрицательных чисел: ', S1);     
writeln('Количество отрицательных: ', Q1)   
end   
else 
writeln('Отрицательных нет');   
if Q2 > 0 then
begin     
writeln('Сумма положительных чисел: ', S2);     
writeln('Количество положительных: ', Q2)   
end   
else 
writeln('Положительных нет') 
end.
4,5(52 оценок)
Ответ:
serob1223
serob1223
23.02.2020
Const   N = 10;   
var   a, S1, S2: Integer;   
i, Q1, Q2: Byte;   
begin   
S1 := 0; Q1 := 0;   
S2 := 0; Q2 := 0;  
writeln('Введите ', N, ' чисел:');   
for i := 1 to N do 
begin     
read(a);     
if a < 0 then 
begin      
S1 := S1 + a;       
inc(Q1)     
end;     
if a > 0 then 
begin       
S2 := S2 + a;       
inc(Q2)     
end;   
end;   
writeln;   
if Q1 > 0 then 
begin     
writeln('Сумма отрицательных чисел: ', S1);     
writeln('Количество отрицательных: ', Q1)   
end   
else 
writeln('Отрицательных нет');   
if Q2 > 0 then
begin     
writeln('Сумма положительных чисел: ', S2);     
writeln('Количество положительных: ', Q2)   
end   
else 
writeln('Положительных нет') 
end.
4,4(77 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ