Попытка поиска выигрышной стратегии может быть сделана при помощи метода, получившего название "бэкрекинг" (backtracking - обратное прослеживание).
Рассматриваем финальную позицию для второго студента. У него должно оставаться от 1 до 4 карточек, чтобы он мог их все забрать и не оставить карточек первому студенту. Следовательно, у первого студента должно быть ровно 5 карточек. Забрав от 1 до 4 карточек, он оставит второму студенту как раз требуемое количество карточек.
Чтобы у первого студента осталось 5 карточек, второй студент должен иметь от 6 до 9 карточек, т.е. первый студент для этого должен делать выбор из 10 карточек.
И так далее. Выигрышная стратегия второго студента состоит в том, чтобы предоставлять первому студенту количество карточек, кратное 5.
Но исходное количество карточек равно 20; это число кратно 5, следовательно второй студент всегда выигрывает, применяя описанную стратегию (она же - алгоритм).
#include <stdio.h>
#include <conio.h>
int main (int argc, char *argv[])
{
int S = 0, i;
for(i = 1; S<50; i++)
S+=i;
printf("S = %d",S);
getch();
}
Один из самых простых 1221 (7+3*2*2+3)=43
Зелёный-цвет
Цвет ногтей-вопрос
Человек утверждение
Пуховый - качество
Правильный ответ
Зелёный
Блок-схема<span> представляет собой </span><span>совокупность символов, соответствующих этапам работы </span>алгоритма<span> и </span><span>соединяющих их линий</span>