№1083
http://acm.timus.ru/problem.aspx?space=1&num=1083
ЖМИ ДАЛЕЕ>>>
РЕШЕНИЕ:
PASCAL
Var
N,K,T,M: LongInt;
C: Char;
Begin
Read(N);
Read(C,C);
K:=0;
While C='!' do begin
Read(C);
Inc(K);
End;
T:=N;
M:=T;
T:=T-K;
While T>0 do begin
M:=M*T;
T:=T-K;
End;
Writeln(M);
End.
1083. Факториалы!!!
Ограничение времени: 1.0 секунды
Ограничение памяти: 16 МБ
Ограничение памяти: 16 МБ
Определение 1. n!!…! = n(n−k)(n−2k)…(n mod k), если n не делится на k; n!!…! = n(n−k)(n−2k)…k, если n делится наk (знаков ! в обоих случаях k штук).
Определение 2. X mod Y — остаток от деления X на Y.
Например, 10 mod 3 = 1; 3! = 3·2·1; 10!!! = 10·7·4·1.
Мы по заданным n и k смогли вычислить значение выражения из определения 1. А вам слабо?
Исходные данные
В единственной строке сначала дано целое число n, 1 ≤ n ≤ 10, затем ровно один пробел, затем k восклицательных знаков, 1 ≤ k ≤ 20.
Результат
Выведите одно число — n!!…!
Пример
исходные данные | результат |
---|---|
9 !! | 945 |
Автор задачи: Олег Кац
Источник задачи: Третье командное соревнование школьников Свердловское области по программированию, 4 марта 2001
Источник задачи: Третье командное соревнование школьников Свердловское области по программированию, 4 марта 2001