Чтобы число получилось максимальным, нужно поменять самое большое вычитаемое число и самое маленькое прибавляемое. То есть 2015 и 2.
Сначала легче посчитать исходное значение выражение.
Если разбить выражение на пары (2016-2015) + (2014-2013) ... То можно заметить, что значение каждой скобки равно 1. Таких пар будет 2016 : 2 = 1008 1008*1 = 1008
В двух парах, а именно (2016-2015) и (2-1) произойдут изменения. Уберём их из общего выражения на время. Без этих 4-х чисел значение выражения равно 1006.
2016−2015+2014−2013+…+2−1 = 1006 + (2016 - 2015) + (2 - 1) Теперь поменяем местами 2015 и 2, найдём значение выражения:
Тут есть несколько вариантов, как это можно записать:
Если номера месяцев не превысят 12, то есть имеются ввиду только месяцы одного года, то вот так:
Var N:integer; Begin WriteLn('Введите номер месяца'); ReadLn(N); if (N = 12)or(N = 1)or(N = 2) then WriteLn('Зима') //если N = 12, 1 или 2, то выводим 'Зима', иначе идём по следующей ветке if, проверяем следующее условие else if (N = 3)or(N = 4)or(N = 5) then WriteLn('Весна') // тут точно также N = 3, 4 или 5, если нет - то проверяем следующее условие else if (N = 6)or(N = 7)or(N = 8) then WriteLn('Лето') else if (N = 9)or(N = 10)or(N = 11) then WriteLn('Осень') End.
Если же номер месяца может превысить 12, то перед проверкой нужно найти остаток от деления этого числа на количество месяцев, то есть на 12. При этом остаток от деления 12 на 12 = 0.
Var N:integer; Begin WriteLn('Введите номер месяца'); ReadLn(N); N:= N mod 12; if (N = 0)or(N = 1)or(N = 2) then WriteLn('Зима') else if (N = 3)or(N = 4)or(N = 5) then WriteLn('Весна') else if (N = 6)or(N = 7)or(N = 8) then WriteLn('Лето') else if (N = 9)or(N = 10)or(N = 11) then WriteLn('Осень') End.
Эти же самые условия можно записать иначе: if (N>=0)and(N<=2) then или: if (N>=0)and(N<3) then
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку