Самый простой ответ — при помощи магнита. Стог сена нужно будет потихоньку перебирать руками, водя при этом магнитом. Кстати на картинке не стог, а рулон — его еще нужно распотрошить до состояния стога. А в целом можно придумать разные способы:
— Вместо обычного магнита можно использовать очень сильный неодимовый магнит. Такой магнит может вытянуть иголку из сена на расстоянии в метр-полтора. Но и стоить такой магнит будет ~$400.
— Можно использовать металлоискатель.
— Можно отвезти стог в рентгенологическое отделение какой-нибудь больницы и сделать рентгеновский снимок — он покажет расположение иголки в стогу.
— Можно сжечь стог и просеять пепел.
— Можно натравить на него (стог) стадо коз и подождать пока одна из них заблеет, но это будет жестоким обращением с животными.
— Можно в конце концов перебрать стог вручную. В ноябре 2014 года итальянский художник Свен Сашалбер (Sven Sachsalber) устроил перформанс по поиску иголки в стоге сена. На поиск у него ушло около 15 часов (techtimes.com).
Upd:
— Можно высыпать стог в бассейн и поискать иглу на дне. (предложение из комментариев)
3,0 K
про коз вариант понравился. натравить)))
Комментировать ответ…Комментировать…
Был у меня такой случай в детстве, на сеновале я что то мастерил и потерял там иголку. В итоге около полутора метра сена которое было подо мной дедушка отправил на уничтожение имеющейся в хозяйстве лошади. Она щепетильно губами перебирая сено съела его, после чего магнитом мы провели по оставшейся мелкой шелухе и благополучно извлекли иголку.
699
Комментировать ответ…Комментировать…
Студент, гений в области физики,биологии и рассуждений о смерти · 18 авг 2016
Металлоискателем это сделать легко, просто разложить стог равномерно на землю по пол метра в высоту, найти металлоискателем участок с иголкой, отложить его в сторону. Далее деля кучки с сеном надвое и отсеивая половинки в которых иглы нет, прийти к маленькой кучке и достать иголку. Если под стогом будут пробки от водки из под трактористов, поиск может немного осложниться.
657
Комментировать ответ…Комментировать…
Самым простом способом “найти” как “взять в руки то, что было упущено”, будет поджечь стог. Разумеется, перед поджёгом стоит отгородить стог от других легко-воспламеняющихся объектов. В случае стога показанного на фотографии, его стоило так же бы отгородить от ветра, способного перенести уже горящую солому на поле. Если игла недалеко от поверхности стога, можно воспользо… Читать далее
571
иголка обгорит и покроется копотью, если не сгорит вообще.
Комментировать ответ…Комментировать…
Это выражение было создано, когда иголки были ещё костяными, и означало: “Проделывать тяжелую нудную работу”. На деле хитрецы предки использовали более хитрый метод. В каждом доме был резак для сена, а иголки делались довольно длинными и они были значительно тверже сена. Поэтому брали резак и резали сено до тех пор, пока игла не будет найдена.
578
Комментировать ответ…Комментировать…
Невозможное возможно: как найти иголку в стоге сена
Все мы с детства прекрасно знаем, что найти иголку в стоге сена — та еще проблемка. Но невыполнимых задач попросту не существует! И если вы не верите нам на слово, то вот вам реальные способы, с помощью которых можно в самом деле найти иголку в стандартном стоге сена весом порядка трехсот килограммов.
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
Неодимовый магнит
Супермощный постоянный магнит состоит из сплава неодима, бора и железа. Известен своей невероятной мощностью притяжения и высокой стойкостью к размагничиванию — не более 2% намагниченности за 10 лет. Такие магниты разных размеров стоят в арочных металлодетекторах, аппаратах МРТ, а также в динамиках, смартфонах и другой электронике.
Даже небольшому неодимовому магниту не составит труда обнаружить стандартную металлическую ручную швейную иглу размером порядка 5 сантиметров в классическом стоге высотой около 6-7 метров. Единственное, для этого придется раскидать омёт на несколько копен: так и искать удобнее, и меньше шансов, что игла проскочит мимо магнита.
Недостаток у метода один — сам магнит стоит прилично. Неодим, будучи редкоземельным металлом, постоянно растет в цене. Вдобавок, такие магниты не любят любые удары, деформацию и нагрев (самая стойкая марка магнита держится до 200 С, а потом теряет свои магнитные свойства).
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
Металлоискатель
Вариация на тему магнита. Этот прибор позволяет обнаружить металлические предметы в нейтральной или слабопроводящей среде за счет их проводимости. В его основе лежит система индукционного баланса, которую изобрел немецкий физик Хайнрих Вильгельм Дове. Передающие и приемные катушки размещены в пространстве таким образом, чтобы сигнал с передающей при отсутствии поблизости металлических предметов не наводился на приемные, то есть вся система была бы сбалансирована. Но как только поблизости от датчика появляется металлический объект, то баланс нарушается, и на выходе появляется сигнал рассогласования — те самые причудливые звуки.
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
Точно так же, как и в первом случае, раскидываем омет для скорости на небольшие кучки и обследуем металлоискателем. В среднем, грунтовой прибор для поиска мелких предметов может «прощупывать» на глубину до полутора метров, правда, чем меньше искомый предмет, тем меньше и глубина. Это во-первых. Во-вторых, если для поиска иглы магнитом особых навыков не требуется, то работа с металлоискателем для новичка дело не быстрое. И в-третьих, сам по себе прибор стоит не меньше 5-6 тысяч рублей за простенький девайс, а профессиональный аппарат с хорошей чувствительностью обойдется уже в 60 тысяч рублей. Но если эта игла жизненно необходима, то металлоискатель можно взять в аренду.
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
Переборка
Самый простой и в тоже время долгий способ отыскать иголку в стоге сена — перебрать его. Да, способ для усидчивых, но зато самый дешевый из описанных выше. Из затрат только пара плотных перчаток, чтоб не вогнать иглу себе в палец, да крепкий чай, чтоб не уснуть в процессе переборки стога сена.
Вы будете смеяться, но в 2014 году итальянский художник Свен Сашалбер решил разрушить миф о том, что найти иголку в стоге сена — невыполнимая задача. Более того, для этого он выбрал не магнит и не металлоискатель, а классический метод! В общей сложности на поиски у него ушло 48 часов, правда, итальянец искал иголку с 12-часовым перерывом на сон.
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
Гори, гори ясно!
Самый, пожалуй экстремальный и быстрый способ отыскать швейную иглу в стоге сена — сжечь его. Стог наполовину состоит из углерода, порядка 40% приходится на кислород, не более 6-7% — водород, а остальное прочие примеси. При горении углерод соединяется с кислородом и водородом, в результате чего остается немного углерода (золы) и прочих примесей, что в общей сложности составляет всего 2-5% от первоначального объема стога сена.
Существует ошибочное мнение, что при таком способе металлическая игла может попросту сгореть, но это не так. Температура плавления стали — 1300-1500С, а температура горения сена — не более 1000С, и это без учета ветра, который опустит температуру еще ниже. Вдобавок, стог полностью сгорит за 15 минут, а этого крайне мало, чтоб со стальной иглой что-то случилось, кроме банального нагрева.
Но учтите, при всей своей простоте, метод крайне опасный, так как вы можете спалить не только свой стог, но и окружающий ландшафт! И потом, одного стога сена корове хватит почти на месяц, так что фермеры вам за такой метод поиска иглы руку не пожмут.
Фразеологизм «найти иголку в стоге сена» используется для обозначения крайне трудоемкой или вообще невыполнимой задачи. Но на самом деле такой цели можно достичь. Специалисты разработали несколько действенных методов, сообщает «Популярная механика».
Один из них: использование мощного магнита из сплава неодима, железа и бора. Они используются для металлодетекторов, аппаратов МРТ, различной электроники. Такой магнит способен притянуть иголку длиной 5 см из шести-семиметрового стога. Правда, для более быстрых результатов копну рекомендуется раскидать на несколько кучек. Но есть и минусы – магниты дорого стоят и портятся от ударов, деформаций и высоких температур.
Другой вариант: металлоискатель. Такие приборы могут «просканировать» грунт или другие породы на глубину до полутора метров. Но чем меньше искомый предмет, тем ниже окажется эффективность. Кроме того, металлоискатель достаточно сложен в эксплуатации и также дорог. Самый простой прибор обойдется в 5-6 тысяч рублей, а профессиональное оборудование – в десять раз больше.
Стог сена также можно перебрать руками. Итальянский художник Свен Сашалбер в 2014 году провел соответствующий эксперимент в одной из парижских галерей. На выполнение задачи ему потребовалось 48 часов (с 12-часовым перерывом на сон). Поиски увенчались успехом, а сам Сашалбер пояснил, что вкладывал в перфоманс особый смысл – ему хотелось «вдохнуть жизнь» в привычную метафору.
Еще один способ – поджечь сено. Ученые подсчитали, что в результате получится горстка золы, составляющая всего 2-5% от первоначального объема стога. Температура горения должна составить не более 1000 градусов Цельсия. Сталь, из которой изготавливают иголки, плавится при нагреве 1300-1500 градусов, поэтому при пожаре она не пострадает. Но этот метод небезопасен для окружающей среды.
Ранее ученые составили подробный рецепт раствора для гигантских мыльных пузырей. В него входит и «секретный ингредиент» – полимеры.
Популярная механикаНаука
Невозможное возможно: как найти иголку в стоге сена
Все мы с детства прекрасно знаем, что найти иголку в стоге сена – та еще проблемка. Но невыполнимых задач попросту не существует! И если вы не верите нам на слово, то вот вам реальные способы, с помощью которых можно в самом деле найти иголку в стандартном стоге сена весом порядка трехсот килограммов.
Неодимовый магнит
Супермощный постоянный магнит состоит из сплава неодима, бора и железа. Известен своей невероятной мощностью притяжения и высокой стойкостью к размагничиванию – не более 2% намагниченности за 10 лет. Такие магниты разных размеров стоят в арочных металлодетекторах, аппаратах МРТ, а также в динамиках, смартфонах и другой электронике.
Даже небольшому неодимовому магниту не составит труда обнаружить стандартную металлическую ручную швейную иглу размером порядка 5 сантиметров в классическом стоге высотой около 6-7 метров. Единственное, для этого придется раскидать омёт на несколько копен: так и искать удобнее, и меньше шансов, что игла проскочит мимо магнита.
Недостаток у метода один – сам магнит стоит прилично. Неодим, будучи редкоземельным металлом, постоянно растет в цене. Вдобавок, такие магниты не любят любые удары, деформацию и нагрев (самая стойкая марка магнита держится до 200 С, а потом теряет свои магнитные свойства).
Ищем иголку в стоге без использования всем известных алгоритмов
Время на прочтение
4 мин
Количество просмотров 5.4K
Какой метод поиска иголки быстрее? Перебирать по соломинке, или же случайно искать ее?
Считаю, что лучший способ — эксперимент, к сожалению стога сена у меня нет, зато есть базовые знания программирования, микроконтроллер Arduino, удобная среда для написания кода, так что каждый сможет повторить.
Шаг первый “Осмысление”
Какие данные хочу получить? Время затраченное на поиск нужного решения. Единственное исполнение не устраивает ввиду специфики эксперимента, нужно проверить метод несколько раз, тогда интересующее меня время — среднее. С этим определился. Следующий шаг — сколько и каких переменных нужно объявить. Нужна отдельная переменная для каждого метода, чтобы хранила сумму времен, назовем ее:
“Time_poslMetod ” и “Time_randMetod”.
Нужна константа о количестве итераций:
#define Iter 1000.
Выходное значение получим делением первой на количество итераций.
#define Iter 10000
#define cell 100
uint8_t potenArr[cell]; // СТОГ
uint8_t needle = 0; // Иголка
uint32_t startTime = 0; // время начала поиска
uint32_t endTime = 0; // время завершения поиска
uint32_t calculationStartTime = 0;
uint32_t calculationEndTime = 0;
uint32_t Time_poslMetod = 0;
uint32_t Time_randMetod = 0;
Шаг второй “пишем Код”
С количеством итераций справится цикл For, внутри него будем «бросать» иголку в стог сена, выполнять поиск, замерять время для каждого метода отдельно, сохранять время в “глобальную”(Time_poslMetod/Time_randMetod) переменную(на будущее).
// Проводим испытания Iter раз
for(uint32_t j = 0; j <= Iter; j++){
// Очищаем массив с предыдущим значением
cleanArr();
// Бросаем иглу в стог
needle = random(cell + 1);
potenArr[needle] = 1;
// Ищем иглу двумя методами и сохраняем время для каждого
poslMetod();
randMetod();
}
Вот как выглядят мои методы.
Последовательный метод:
void poslMetod(){
startTime = millis();
for(uint16_t i = 0; i < cell; i++){
if(potenArr[i] == 1){
endTime = millis() - startTime;
break;
}
}
Time_poslMetod += endTime;
}
Перед самым началом запоминаем время, чтобы потом вычесть его из времени завершения поиска. Пробегаем по массиву(стогу) начиная с первого элемента, до последнего. Когда находим иглу записываем время, завершаем поиск, прибавляем время к “глобальной”(Time_poslMetod) переменной и выходим из метода.
Случайный метод:
void randMetod(){
startTime = millis();
for(;;){
uint16_t r = random(cell + 1);
if(potenArr[r] == 1){
endTime = millis() - startTime;
break;
}
}
Time_randMetod += endTime;
}
Отличие в том, что проверяем случайный элемент массива(местечко в стоге), полагаемся на удачу до тех пор, пока не повезет и не найдем иглу, поэтому используем бесконечный цикл, главное что у нас есть условие выхода, так что не беспокоимся. Когда находим иглу, записываем время, завершаем поиск, прибавляем время к “глобальной”(Time_randMetod) переменной и выходим из метода.
Можно заметить, что метод не гарантирует нам никакой гарантии в том, что он быстрее, в таком ключе он выглядит даже медленней, ведь если удача не будет на нашей стороне мы вполне можем совершить больше чем 100 проверок мест стога и потерпеть неудачу, в то время как в последовательном методе 100 проверок означало бы что мы проверили весь стог и точно бы нашли иголку затратив максимальное время для этого метода. Все же я за эксперимент, так что продолжим.
Собираем все вместе, полируем код, делаем выходные данные удобные для осмысления:
Код целиком
#define Iter 10000
#define cell 100
uint8_t potenArr[cell]; // СТОГ
uint8_t needle = 0; // Иголка, будем присваивать ей случайное значение для номера массива
uint32_t startTime = 0; // время начала поиска
uint32_t endTime = 0; // время завершения поиска
uint32_t calculationStartTime = 0;
uint32_t calculationEndTime = 0;
uint32_t Time_poslMetod = 0;
uint32_t Time_randMetod = 0;
void poslMetod();
void randMetod();
void cleanArr();
void DataOutPrint();
void setup() {
randomSeed(analogRead(A0));
Serial.begin(115200);
}
void loop() {
Time_poslMetod = 0;
Time_randMetod = 0;
Serial.println(" ");
Serial.println("Start");
calculationStartTime = millis();
// Проводим испытания Iter раз
for(uint32_t j = 0; j <= Iter; j++){
// Очищаем массив с предыдущим значением
cleanArr();
// Рандомим иглу и кидаем ее в стог
needle = random(cell + 1);
potenArr[needle] = 1;
// Ищем эту иглу двумя способами и сохраняем время для каждого
poslMetod();
randMetod();
}
// Выводим среднее время для каждого метода
DataOutPrint();
delay(2000);
}
void poslMetod(){
startTime = millis();
for(uint16_t i = 0; i < cell; i++){
if(potenArr[i] == 1){
endTime = millis() - startTime;
break;
}
}
Time_poslMetod += endTime;
}
void randMetod(){
startTime = millis();
for(;;){
uint16_t r = random(cell + 1);
if(potenArr[r] == 1){
endTime = millis() - startTime;
break;
}
}
Time_randMetod += endTime;
}
void cleanArr(){
for(uint16_t i = 0; i < cell; i++){
potenArr[i] = 0;
}
}
void DataOutPrint(){
calculationEndTime = (millis() - calculationStartTime)/1000;
float OUTposl = (float)Time_poslMetod/Iter;
float OUTrand = (float)Time_randMetod/Iter;
Serial.println(" ");
Serial.print("Number of iterations = ");
Serial.println(Iter);
Serial.print("Time for calculate (sec) = ");
Serial.println(calculationEndTime);
Serial.print("Posledovatelniy metod - AverageTime (ms) = ");
Serial.println(OUTposl,3);
Serial.print("Randomniy metod - AverageTime (ms) = ");
Serial.println(OUTrand,3);
}
Шаг третий “Анализ результатов”
Получаем:
Честно сказать я удивлен полученным результатам. Поставив деньги на то, что времена будут близкими я бы проиграл.
Произошло как раз то, чего я боялся, удача отвернулась от меня (нас). Вот бы проверить как обстояли бы дела, если бы выбирая каждую следующую ячейку в стоге, мы бы не выбирали уже проверенные. А пока будем иметь ввиду, что изучать программирование, математику, точные науки полезно для сокращения времени на скучные рутинные операции, оставляя время на что нибудь веселое.