Элементарно! 1) Разбиваем 27 монет на 3 кучки по 9 монет. Сравниваем 2 кучки. Какая легче - в той и фальшивая монета. Если они равны, то фальшивая в третьей кучке, которую не взвешивали. Получилась кучка из 9 монет, одна фальшивая. Осталось 2 взвешивания. 2) Точно также разбиваем 9 монет на 3 по 3 монеты и сравниваем две. Какая легче - в той и фальшивая монета. Если они равны, то фальшивая в третьей кучке, которую не взвешивали. Получилась кучка из 3 монет, одна фальшивая. Осталось 1 взвешивание. 3) Сравниваем 2 монеты. Какая легче - та и фальшивая. Если они равны, то фальшивая третья, которую не взвешивали.
#include <stdio.h>#include <time.h> int main(void) { int left, right, num = 5; time_t t;
scanf ("%d %d", &left, &right);
if(left >= right) { fprintf(stderr, "min_num is greater or equal than max_num!\n"); }
printf ("left = %d right = %d \n", left, right); /* Intializes random number generator */ srand((unsigned) time(&t)); /* Print num random numbers from left to right */ while (num > 0) { printf ( "%d ", left + (rand() % (right + 1 - left)) ); num--; } return 0;}
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку