• Предмет: Информатика
  • Автор: nikitiksvinyx
  • Вопрос задан 7 лет назад

Задача 1: Починка блюдца
Придя домой, уставший Константин захотел выпить свой любимый чай. Для этого ему нужно было достать с высокой полки самое красивое блюдце, которое
представляет собой клетчатое поле Nх N. Но так как Константин не очень аккуратен, он, естественно, разбил блюдце.
В спешке Костя начал думать, как же починить столь ценную вещь. И тогда он заметил, что блюдце распалось ровно на клетчатые квадраты Кх К! Более того
он обнаружил, что N делится на к без остатка.
Восстановив исходное блюдце из кусочков, Костя понял, что ему также нужно купить клей, чтобы склеить все соприкасающиеся кусочки в исходное клетчатое
поле Nх N. Он тут же посчитал, что для того, чтобы проклеить границу между двумя соприкасающимися клетками длины 1, необходима ровно одна банка
Клея.
Помогите Косте посчитать, сколько банок клея ему нужно купить, чтобы склеить его любимое блюдце.
Входные данные
В первой строке входных данных записано одно целое число N (1 < < 104) — размер квадратного блюдца.
Во второй строке записано одно целое число K(1 s Кs N, N делится на K без остатка) — размер квадратного осколка блюдца.
Выходные данные
В единственной строке выведите одно число - количество банок клея, которые Косте понадобится купить, чтобы починить блюдце.
Если на самом деле блюдце не разбилось, и Костя зря паниковал, выведите число 0.
Система оценки
Решения, правильно работающие только для случаев, когда и К не превосходят 20, будут оцениваться в 25 баллов.
Решения, правильно работающие только для случаев, когда К = 1, будут оцениваться в 30 баллов.​


Аноним: бебра
qwer1y1: n = int(input())
k = int(input())
if n==k:
print (0)
else:
print((2*n*(n//k-1))//k)
qwer1y1: неполное решение
kristinagaras3533: Какое будет полное решение ?
Аноним: https://t.me/vosolimp
hella2320: nu i bebra

Ответы

Ответ дал: Usbeki
27

Ответ:

Program e1;

var

N,K,Z,Y,A,D,X : integer;

C,S: Real;

begin

readln(N);

readln(K);

if N mod K=0

then

Y:= N*N;

A:= K*K;

C:= Y/A;

D:= round(C);

S:= sqrt(D);

X:= round(S);

Z:=(2*X*(X-1))*K;

writeln(Z);

end.

Объяснение:


Аноним: Тут постоянно что-то решают https://t.me/vosolimp
Ответ дал: Fedy16
8

Ответ:

PYTHON

n = int(input())

k = int(input())

if n == k:

   print(0)

elif n > k:

   print(2 * n * (n // k - 1))

Объяснение:


Аноним: Вам сюда: https://t.me/vosolimp
Вас заинтересует