В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия

Сдать решение d-цветные клетки
имя входного файла: collection.in или стандартный поток ввода
имя выходного файла: collection.out или стандартный поток вывода
ограничение времени: 1 с
ограничение памяти: 256m
цветные клетки

чемпион по межгалактическим шахматам гарик проспалов любит коллекционировать шахматные доски.

сегодня он купил себе очередную шахматную доску размера n × m, состоящую из клеток k цветов от 0 до k - 1. то есть, клетка, стоящая в i-й строке и j-м столбце имеет цвет (i + j) mod k (в данном случае mod - остаток от деления). строки и столбцы нумеруются с 0. для того, чтобы внести эту доску в коллекцию, гарик должен составить её статистику. а именно, он должен для каждого цвета от 0 до k - 1 записать, какое количество клеток покрашено в этот цвет. так как размер доски может быть большой, то он попросил вас составить статистику данной доски.

напишите программу, которая позволит ему решить эту весьма непростую .
формат входных данных

вводятся три целых числа n, m, k (1 ≤ n, m ≤ 109, 1 ≤ k ≤ 2 · 105) - размеры доски и количество цветов соответственно.
формат результата

выведите через пробел k целых чисел, где i-е число обозначает количество клеток, покрашенных в i-й цвет (i от 0 до k - 1).
примеры
входные данные

8
8
2

результат работы

32 32

входные данные

5
5
4

результат работы

7 6 6 6

примечания

первый пример соответствует стандартной шахматной доске.

второй пример на рисунке ниже.

для работы с большими целыми числами в этой следует использовать 64-битный тип данных. в языке pascal предусмотрен тип int64, а в c++ - тип long long.
на любом языке

Показать ответ
Ответ:
ilike1
ilike1
10.10.2020 08:21

program chess;

var N,M,K,I:int64;

begin

 readln(N,M,K);

 if ((N mod K)=0) then if ((M mod K)=0) then

   for I:=K downto 1 do

     writeln((N*M)/K);    

 if ((N mod K)<>0) then if ((M mod K)<>0) then

   writeln(((N*M)div K)+1);

   for I:=K-1 downto 1 do

     writeln((N*M)div K);    

end.

Объяснение:

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота