Каждий год роботы обэдиняютса в касты по 3 или 5 роботов. За год одна каста из 3 роботов делает 5 новых, а каста з 5 9 новых роботов. Каждый робот существует 3 года после зборки. Решить сколька роботов будет через N годов.
(Вводятса K - количество роботов N - годы)
Помогите очень надо!
чем http://www.dstu.edu.ru/informatics/olimp/mtd1/ol_p3.html#zd4_4 не нравится?
Мне оно не нравится тем, что там ничего не объясняют. Я имею ввиду эти строки
if p=0 then y:=0
else if p=1 then begin x:=x-3; y:=2 end
else begin x:=x-1; y:=1 end;
а это необходимо?
пожалуйста:
разбиваем роботов на тройки. в х записываем количество троек. в p записываем количество "лишних" - 0,1 или 2.
если 0 - все прекрасно разбилось.
если 1 - тогда забираем 9 роботов из разбитых на тройки и получаем x-3 тройки и 2 пятерки (т.к. 9+1=10=5*2)
если p=2, забираем трех роботов и получаем 1 пятерку.
А почему именно так, а не по-другому? Помоему, надо либо такое доказывать, либо вообще ничего не писать (на сайте), а только код приводить. Я имею ввиду вот это:
не поняла вопроса.
а какое минимальное число m ты подберешь, чтобы:
1. m делилось на 3
2. m+1 делилось на 5?
Или необходимость этих условий тоже надо доказывать?
...хотя по-хорошему надо рассмотреть варианты, что роботы на касты не смогут разбиться.
Они могут всегда разбиться, оставив нескольких роботов вне каст. Вопрос в том, как это сделать оптимально. Я считаю, что оставить его нерассмотреным и считать само собой разумеющимся - неправильно.
Попробуй сперва поделить на 5, то что останется поделить на 3, затем сложить и к полученому прибавить то что останется после деления на три. Я проверял вроде сходится.
Master_Kirr, ты это кому объясняешь? Думаешь, человек за полгода не сделал и не сдал?