Помогите срочно решить следующую задачу(оформить с пояснениями). Задача: определите при каком наименьшем значении b в результате выполнения следующего алгоритма будет напечатано число 100 var a,b,t,k:integer; function F(x:integ...
Помогите срочно решить следующую задачу(оформить с пояснениями).
Задача:
определите при каком наименьшем значении b в результате выполнения следующего алгоритма будет напечатано число 100
var a,b,t,k:integer;
function F(x:integer):integer;
begin
if x mod 2=0 then
F:=1;
else
F:=0;
end;
BEGIN
a:=100;
readln(b);
k:=0;
for t:=a to b do
begin
k:=k=F(t);
end;
write(k);
END.
Ответ(ы) на вопрос:
Гость
Наверное не k:=k=F(t); а k:=k+F(t);
тогда ответ: 298
---------------------------
Процедура F(x) дает 1, если х четное или 0, если х нечетное.
Далее программа подсчитывает сумму F(x) (т.е. проще говоря количество четных чисел) от 100 до b.
Т.к. 100 само является четным числом, остается еще 99 четных чисел.
Т.к. четные числа идут через один, то потребуется в два раза больше чисел:
99*2=198
100+198=298
т.е. 298 является тем числом, по достижении которого сумма F(x) станет равна 100.
Не нашли ответ?
Похожие вопросы