Юлия
Юлия

помогите написать прогу на паскале

татьяна ларина, читая очередной французкий роман, подчитамла сумму номеров подчитаных страниц. написать програму, определяющую номер последней прочитанной страницы. учесть ситуацию, когда введенная сумма страниц не существует - в этом случае также вывести номер последнее прочитаной страницы . сумму номеров вводить с клавиатуры ( использовать цикл с постусловием)

Алексей
Алексей

Арифметическая прогрессия.

S = (A1 + An) * N /2
A1 всегда равно 1
An = N (т.. к последний член (номер страницы) равен прочитанному количеству страниц)
Обозначим N - X
S = (1 + 😵 * X / 2
Получаем квадратное уравнение:
X^2 + X - 2*S = 0
имеет смысл только положительный корень:
X = ( -1 + sqrt(8 * S +1)) / 2

Соотвественно это уравнение и программируем. Не существующие (навскидку) : корень не извлекается без остатка, Сумма = 0, отрицательные числа.

ЕП
Елена Пятова

var
n,p,i: integer;

begin
write('Введите cумму страниц: ');
readln(n);
repeat
i:=i+1;
p:=p+i;
until p >= n;
writeln;
if (p = n) or (n = 0) then
begin
write ('Последняя страница: ');
if n > 0 then write (i) else write (n);
end
else
write ('Такой суммы не существует');
readln;
end.

Похожие вопросы
помогите написать прогу в паскаль абс
помогите написать в паскале прогу
помогите написать прогу в ПАСКАЛЕ
как написать прогу в борланд паскале
Помогите написать прогу в Паскале ABC!
Помогите написать прогу на паскале. Помогите написать программу на паскале. Сжать массив, удалив нули.
как написать прогу на паскале?
Поможете написать прогу в паскале?
нужно написать прогу в паскале
Помогите написать прогу в паскале!