Если вынуть 94 конфет, то будут конфеты всех 3 видов.Пусть у нас по n конфет каждого вида.Тогда может так получиться, что мы вынем 2n конфет, и они будут только 2 видов. И только, вынув (2n+1)-ю конфету, мы получим все три.2n+1 = 942n = 93.Значит, конфет одного и другого вида по [93/2] = 46,а конфет третьего вида 47.Пусть ирисок и леденцов по 46, а шоколадных 47.Вынув 46 ирисок и 46 леденцов (92 конфет), мы получим 2 вида.Вынув 46 ирисок и 47 шоколадных (93), мы получим 2 вида.Вынув 46 леденцов и 47 шоколадных (93), мы получим 2 вида.И только вынув 94-ую (в 1 случае 93 и 94), мы получим 3 вида.ответ: всего конфет было 46 + 46 + 47 = 139.
Одним из наиболее интересных аспектов использования цикла for является создание бесконечного цикла. Поскольку не требуется ни одна из частей, можно создать бесконечный цикл путем удаления части проверки условия. Например:
for ( ; ; ) printf(" this loop will run forever. \n");
Хотя можно использовать части инициализации и увеличения, наиболее типично использование for( ; ; ) без выражений для создания бесконечного цикла.
На самом деле конструкция for( ; ; ) не обязательно создает бесконечный цикл, поскольку в теле цикла может присутствовать оператор break, при достижении которого цикл оканчивает работу. Нижеприведенная программа контролирует нажатие клавиш и, в случае достижения необходимого условия, бесконечный цикл прерывается:
for ( ; ; )
{
ch = getchar(); /* ввод символа */
if (ch == 'A') break; /* выход из цикла */
}
printf("you typed an A");
Цикл будет работать до тех пор, пока на клавиатуре не будет набрана А.
Одним из наиболее интересных аспектов использования цикла for является создание бесконечного цикла. Поскольку не требуется ни одна из частей, можно создать бесконечный цикл путем удаления части проверки условия. Например:
for ( ; ; ) printf(" this loop will run forever. \n");
Хотя можно использовать части инициализации и увеличения, наиболее типично использование for( ; ; ) без выражений для создания бесконечного цикла.
На самом деле конструкция for( ; ; ) не обязательно создает бесконечный цикл, поскольку в теле цикла может присутствовать оператор break, при достижении которого цикл оканчивает работу. Нижеприведенная программа контролирует нажатие клавиш и, в случае достижения необходимого условия, бесконечный цикл прерывается:
for ( ; ; )
{
ch = getchar(); /* ввод символа */
if (ch == 'A') break; /* выход из цикла */
}
printf("you typed an A");
Цикл будет работать до тех пор, пока на клавиатуре не будет набрана А.
Объяснение:
в с++