, заранее Вася готовит инвентарь для ролевой игры. В игре должны принять участие N игроков, каждый из которых будет изображать персонажа фантастического мира. В процессе игры каждый персонаж будет обладать некоторым уровнем X
, который представляет собой целое число от 1 до M.
Для обозначения уровня планируется использовать специальные значки двух цветов. Белый значок обозначает один уровень, а красный значок - K
уровней. Игрок, изображающий персонажа с уровнем X, должен иметь A белых значков и B красных значков, чтобы сумма (A+B⋅K)была равна X. При этом персонажу не разрешается иметь более чем (K−1) белых значков.
Значки для игры готовятся заранее, однако уровни персонажей заранее неизвестны. Для успешного проведения игры всем персонажам необходимо выдать соответствующее их уровням количество значков. Возникает вопрос: какое минимальное суммарное количество значков необходимо подготовить для успешного проведения игры при любых уровнях участвующих персонажей.
Требуется написать программу, которая по заданным числам N,M и K
вычисляет минимальное количество значков, которое необходимо подготовить для успешного проведения игры.
Формат ввода:
Дано три целых числа: N, M и K(1≤N≤104,1≤M≤105,1≤K≤105).
Формат вывода
Выведите одно целое число - минимальное количество значков, которое требуется подготовить.
type arr=array[1..k] of integer;
procedure p1(var x:arr);
var i:integer;
begin
for i:=1 to k do
begin
x[i]:=random(30)-15;
write(x[i]:3);
end;
writeln;
end;
function f1(var x:arr):integer;
var i,s:integer;
begin
s:=0;
for i:=1 to k do
if x[i]<0 then s:=s+x[i]*x[i];
f1:=s;
end;
var a,b:arr; m,n:integer; x:real;
begin
writeln('a:');
p1(a);
writeln('b:');
p1(b);
m:=f1(a);
n:=f1(b);
writeln('m = ',m,' n = ',n);
x:=m/(n-m);
writeln('x = ',x:6:4);
end.
Пример:
a:
-13 7-11 11 -3 4 13 3 -1 2
b:
8 -2 5 10 9 8 -8 12 7-13
m = 300 n = 237
x = -4.7619
В 4-ричной системе = 30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333300000
Кол-во цифр 3 = 496
код на руби
def countNumberInExpression(expression, p_base, c_number)
puts "Результат вычисления выражения = #{expression}"
puts "В #{p_base}-ричной системе = #{r = expression.to_s(p_base)}"
count = r.scan(/#{c_number}/u).size
puts "Кол-во цифр #{c_number} = #{count = r.scan(/#{c_number}/u).size}"
return count
end