Функция ЕСЛИ - позволяет в зависимости от условия выводить два результата. Первый результат возвращается когда, условие истинно, второй результат, когда условие ложно.
ЕСЛИ (условие; первый результат; второй результат)
Здесь сравниваем какое число больше и в зависимости от этого производим замену.
Функция ЗАМЕНИТЬ - позволяет заменить указанное число символов в старой ячейке новыми символами.
ЗАМЕНИТЬ (старая ячейка (в ней заменяем символы, заменяемые символы пропадают); начальная позиция (с какого символа начинаем заменять); число символов (количество заменяемых символов); новые символы (которые вставляем))
Здесь в большем числе убираем 3-5 цифры (т.е. три символа), а вставляем значение меньшего числа.
Фактически требуется вычислить значение следующего выражения:
В связи с ограниченной разрядностью представления целых чисел в традиционном Паскале, используется появившийся в PascalABC.Net 3.0 тип данных BigInteger, имеющий произвольную разрядность.
// PascalABC.NET 3.0, сборка 1144 от 16.01.2016 begin var n:=ReadInteger('n='); var s:BigInteger:=0; for var i:=1 to n do begin var sp:BigInteger:=1; for var j:=i to 2*i do sp*=j; s+=sp end; Writeln('S=',s) end.
=ЕСЛИ(A1>B1;ЗАМЕНИТЬ(A1;3;3;B1);ЗАМЕНИТЬ(B1;3;3;A1))
Объяснение:
Смотри картинки
Функция ЕСЛИ - позволяет в зависимости от условия выводить два результата. Первый результат возвращается когда, условие истинно, второй результат, когда условие ложно.
ЕСЛИ (условие; первый результат; второй результат)
Здесь сравниваем какое число больше и в зависимости от этого производим замену.
Функция ЗАМЕНИТЬ - позволяет заменить указанное число символов в старой ячейке новыми символами.
ЗАМЕНИТЬ (старая ячейка (в ней заменяем символы, заменяемые символы пропадают); начальная позиция (с какого символа начинаем заменять); число символов (количество заменяемых символов); новые символы (которые вставляем))
Здесь в большем числе убираем 3-5 цифры (т.е. три символа), а вставляем значение меньшего числа.
В связи с ограниченной разрядностью представления целых чисел в традиционном Паскале, используется появившийся в PascalABC.Net 3.0 тип данных BigInteger, имеющий произвольную разрядность.
// PascalABC.NET 3.0, сборка 1144 от 16.01.2016
begin
var n:=ReadInteger('n=');
var s:BigInteger:=0;
for var i:=1 to n do begin
var sp:BigInteger:=1;
for var j:=i to 2*i do sp*=j;
s+=sp
end;
Writeln('S=',s)
end.
Тестовые решения:
n= 10
S=6867491336546
n= 20
S=6790094079076573854634585045346
n= 200
S=16259132945245603272459357532926431055851011262226423901521610672683053074122398284194138200811393508183584635163325580662485661758792994853918852068566553866936403927187322304685846233840511935657079269303199247681681900473643377764171469288217130928626467970695282872799909803648986880297649242631688825602025883316969148173917409343244672476380960595892701641078133125672741993996178795224513183779220724481183819428328185978629676722172834554113541584734035734977004732415721620206280485845346