В раз мы написали Саше программу, которая считает функцию в каждой точке отрезка и выводит значение на экран. Но теперь ему нужно, чтобы значения считались в обратном порядке. Плюс к этому в программе ему нужно сделать так, чтобы можно было настраивать шаг, с которым он скачет по точкам отрезка. Напишите программу, которая получает на вход начало и конец отрезка, а также шаг. Затем высчитывает функцию игрек в каждой точке отрезка и с нужным шагом, начиная с конца, и выводит ответ на экран.
Сама функция выглядит так: y = x**3 + 2x**2 - 4x + 1
Пример:
Введите начало отрезка: -2 Введите конец отрезка: 2 Введите шаг: -1 В точке 2 функция равна 9 В точке 1 функция равна 0 В точке 0 функция равна 1 В точке -1 функция равна 6 В точке -2 функция равна 9
Var A,B,C:integer; Begin C:=365; Read(A,B); if A>1 then C:=C-31; if A=1 then C:=C-B; if A>2 then C:=C-28; if A=2 then C:=C-B; if A>3 then C:=C-31; if A=3 then C:=C-B; if A>4 then C:=C-30; if A=4 then C:=C-B; if A>5 then C:=C-31; if A=5 then C:=C-B; if A>6 then C:=C-30; if A=6 then C:=C-B; if A>7 then C:=C-31; if A=7 then C:=C-B; if A>8 then C:=C-31; if A=8 then C:=C-B; if A>9 then C:=C-30; if A=9 then C:=C-B; if A>10 then C:=C-31; if A=10 then C:=C-B; if A>11 then C:=C-30; if A=11 then C:=C-B; if A>12 then C:=C-31; if A=12 then C:=C-B; Write(C); End.
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
Writeln('Сумма четных: ',Range(2,n,2).Sum);
Writeln('Произведение нечетных: ',
Range(1,n,2).Aggregate(BigInteger(1),(p,q)->p*q))
end.
Примеры
n= 10
Сумма четных: 30
Произведение нечетных: 945
n= 100
Сумма четных: 2550
Произведение нечетных: 2725392139750729502980713245400918633290796330545803413734328823443106201171875
n= 220
Сумма четных: 12210
Произведение нечетных: 1107777077219218863731176870556049213277080310011307546922058816496685355705579762805879646585202270946781726057710274499420058851200005273702334889222745707797723907366146060509882690145022444427013397216796875
A,B,C:integer;
Begin
C:=365;
Read(A,B);
if A>1 then C:=C-31;
if A=1 then C:=C-B;
if A>2 then C:=C-28;
if A=2 then C:=C-B;
if A>3 then C:=C-31;
if A=3 then C:=C-B;
if A>4 then C:=C-30;
if A=4 then C:=C-B;
if A>5 then C:=C-31;
if A=5 then C:=C-B;
if A>6 then C:=C-30;
if A=6 then C:=C-B;
if A>7 then C:=C-31;
if A=7 then C:=C-B;
if A>8 then C:=C-31;
if A=8 then C:=C-B;
if A>9 then C:=C-30;
if A=9 then C:=C-B;
if A>10 then C:=C-31;
if A=10 then C:=C-B;
if A>11 then C:=C-30;
if A=11 then C:=C-B;
if A>12 then C:=C-31;
if A=12 then C:=C-B;
Write(C);
End.