Паскаль программа не завершается
Var s, n, d, i: integer;
begin
for i:=-10000 to 10000 do begin
d:=i;
s:=15;
n:=10;
while s
Var s, n, d, i: integer;
begin
for i:=-10000 to 10000 do begin
d:=i;
s:=15;
n:=10;
while s
Для решения задачи НЕ НУЖНА программа.
N = 50 -> цикл while должен выполниться ровно 8 раз -> получаем неравенства:
15 + d * 7 2400
15 + d * 7 d * 7 d 2400 -> d * 8 > 2385 -> d >= 299
Всё, что тебе нужно - это подсчитать кол-во чисел, оканчивающихся на 8, в диапазоне [299;340]. И таких чисел - в уме считаем - ровно 4.
И ни одной строчки кода.
Если же хочешь программой, то замени в своём коде:
for i:=-10000 to 10000 do begin
d:=i;
на:
for i := 0 to 100 do begin
d := i * 10 + 8;
Вот так:
C++Выделить код
1
exit(0);
А как ты считаешь, сколько раз будет выполнятьcя while, когда i и соответственно d равны нулю?
Да и при прибавлении отрицательных значений к s ждать, когда оно превысит 2400, не стоит...
А нельзя без присвоения одной переменной другой?