Предмет: Информатика,
автор: vikleon200457
var s,i, n: integer;
begin
for i:=1 to 1000 do begin
s:=i;
n := 1;
while s < 221 do begin
s := s + 13;
n := n * 2
end;
if n=128 then begin writeln(i) break; end;
end;
end.
почему программа не работает?!
Приложения:
balakine977:
кидай сюда
Begin
Readln (s);
S := 3* (s div 10);
N := 1;
While s< 221 do begin
S := s + 13;
N := n * 2
End;
Writeln (n)
End.
begin
for i := 0 to 10000 do begin
s := 3 * (i div 10);
n := 1;
while s < 221 do begin
s := s + 13;
n := n * 2
end;
if n = 256 then count := count + 1;
end;
writeln(count);
end.
Ответы
Автор ответа:
2
Ответ:
Существует только одно значение S = 130 при котором эта программа выведет 128
Объяснение:
S линейно возрастает в цикле и никогда не уменьшается, следовательно насколько бы мы не увеличивали количество шагов в цикле вывод программы не измениться, при i = 130 n = 128. Все последующие разы цикл while не выполняется, после i = 221 в данном случае оператор for избыточен, так как становиться s > 221.
Похожие вопросы
Предмет: Русский язык,
автор: Даниили1
Предмет: Английский язык,
автор: ВасяВасяВася007
Предмет: Русский язык,
автор: КаринаНикитишна
Предмет: Алгебра,
автор: вшадкола
Предмет: Химия,
автор: goshaplotnikov1