Physics.Math.Code
143K subscribers
5.21K photos
2.1K videos
5.81K files
4.48K links
VK: vk.com/physics_math
Чат инженеров: @math_code
Учебные фильмы: @maths_lib
Репетитор IT mentor: @mentor_it
YouTube: youtube.com/c/PhysicsMathCode

№ 6045941532

Обратная связь: @physicist_i
Download Telegram
💦 Задача: «Вихревая струя космического садовника» 💦

Космический садовник для полива своей оранжереи использует цилиндрический бак высотой H = 20 м, заполненный водой. Чтобы создать искусственную гравитацию, бак вращается вокруг своей вертикальной оси с постоянной угловой скоростью ω = 2 рад/с.

В боковой стенке бака у его дна, на расстоянии R₀ = 1 м от оси вращения, проделано малое цилиндрическое отверстие, ось которого горизонтальна. Считайте, что уровень воды в баке поддерживается постоянным, и глубина воды над отверстием равна H (т.е. свободная поверхность находится на высоте H над отверстием). Течение — стационарное, жидкость — идеальная и несжимаемая. Давление на свободной поверхности атмосферное.

Вопрос: Найдите уравнение траектории (форму) струи, вытекающей из отверстия, в системе отсчета, связанной с вращающимся баком. Проигнорируйте сопротивление воздуха и считайте, что струя находится в вакууме.
#задачи #физика #разбор_задач #physics #механика #гидравлика #гидродинамика #science

⚠️ Указание: Вращающаяся система отсчета является неинерциальной. Для решения используйте интеграл Бернулли, записанный для неинерциальной системы отсчета, где к массовым силам добавляется центробежная сила. Учтите, что в системе бака течение стационарно, и частицы жидкости начинают движение из отверстия с начальной скоростью, направленной радиально.

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🤯2015🔥4🤔42😱2👾1
📜 Математика количества счастливых билетов

Давайте сегодня подумаем, а как посчитать или хотя бы оценить количество счастливых билетов при 6-значном номере? Можно ли решить такую задачу аналитически?

Давайте для интереса определим верхнюю границу количества таких билетов? Их явно меньше миллиона, верно? А может есть ещё какое-то число?

Пожалуй, это самые подробные в интернете разборы задачи про счастливые билеты. Почему-то эти статьи собрали мало охватов на Дзен. Так что если вы пропустили данные заметки, то ознакомьтесь. Там много интересного с точки зрения математики и алгоритмов. Статьи приведены в порядке возрастания сложности.

👨🏻‍💻 Задачка про счастливый билет : решаем на Python

📜 Математика количества счастливых билетов

#задачи #разбор_задач #программирование #информатика #олимпиады

💡 Репетитор IT mentor // @mentor_it
👍2515🔥5🗿2🤔1🤯1😱1
🌐 Многие ребята в школе бояться теорему косинусов. Но они даже не знают, что существует теорема косинусов для трехгранного угла 😨

Трехгранный угол — это фигура, образованная тремя лучами, исходящими из одной точки S и не лежащими в одной плоскости. Эти лучи называются ребрами, а углы между ребрами (α, β, γ) называются плоскими углами. Углы между плоскостями граней называются двугранными углами.

Тождество на картинке можно доказать, как минимум, двумя способами:
▪️ Векторно-Координатный метод)
▪️ С помощью геометрии на сфере

А существует ли ещё какое-нибудь красивое доказательство данной теоремы? Кто догадался — напишите ваши идеи в комментариях.
#геометрия #математика #олимпиады #стереометрия #geometry #задачи #problems

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
2825🔥13😭5👍4🤔4❤‍🔥3😍2🥰1🤝1
Please open Telegram to view this post
VIEW IN TELEGRAM
21👍10❤‍🔥3🔥3😱2🤔1🤯1🆒1
📚 Математический анализ (в 2-х частях) [1975] Липман Берс

💾 Скачать книги

✏️ «Числа управляют миром», – говорили пифагорейцы. Но числа дают возможность человеку управлять миром, и в этом нас убеждает весь ход развития науки и техники наших дней. ( А. Дородницын — советский математик, геофизик и механик. Академик АН СССР (1953) и РАН. Герой Социалистического Труда (1970). )

☕️ Для тех, кто захочет поддержать донатом на кофе:
Карта ВТБ: ( СБП: +79616572047 )
Карта Сбер: ( СБП: +79026552832 )
ЮMoney: 410012169999048

Перед вами не просто старый учебник, а одна из лучших книг для первого знакомства с матанализом. Если Зорич кажется вам слишком формальным, а Фихтенгольц — слишком громоздким, Берс станет идеальным компромиссом.
#подборка_книг #математика #задачи #математический_анализ #высшая_математика #math #calculus

💡 Physics.Math.Code // @physics_lib
132👍22🔥9😍5🤩21
🖥 Различия в создании строк на Java

Есть два самых популярных способа создания строк:
1 — String s1 = new String("Hello");
2 — String s2 = "Hello";
Разберем отличия.

▪️ 1. Место в памяти (Самое главное отличие) — Это отличие является корнем всех остальных различий.

🔸String s1 = new String("Hello"); (Оператор new)
Создает новый объект в Куче (Heap), независимо от того, какая строка там уже существует.
Каждый вызов new String("Hello") гарантированно создает новый, уникальный объект в памяти.

🔸String s2 = "Hello"; (Строковый литерал)
Строка создается и помещается в специальную область памяти — String Pool (Пул строк), который находится внутри кучи.
Механизм String Pool: Перед созданием новой строки JVM проверяет, нет ли уже строки с таким же значением в пуле. Если есть — переменной просто присваивается ссылка на существующий объект. Если нет — тогда в пуле создается новый объект.

Наглядная аналогия:
new String("Hello") — покупка нового, уникального экземпляра книги, даже если она уже есть в библиотеке.
"Hello" — взятие книги из библиотеки. Если книга есть — вы получаете именно её. Если нет — библиотека сначала покупает новую, а вы её берете.

▪️ 2. Поведение при сравнении (==). Оператор == сравнивает ссылки на объекты, а не их содержимое. Из-за различий в памяти поведение будет разным.
String s1 = new String("Hello");
String s2 = "Hello";
String s3 = "Hello";

System.out.println(s1 == s2); // false
System.out.println(s2 == s3); // true

s1 == s2 -> false, потому что s1 ссылается на объект в куче, а s2 — на объект в String Pool. Это два разных объекта в памяти.
s2 == s3 -> true, потому что обе переменные ссылаются на один и тот же объект в String Pool.
Для сравнения содержимого строк всегда используйте метод equals():
System.out.println(s1.equals(s2)); // true (сравнивается содержимое "Hello")
System.out.println(s2.equals(s3)); // true


▪️ 3. Производительность

🔸Строковый литерал ("Hello") — более эффективен. Он избегает создания дубликатов в памяти, что экономит память и ускоряет работу, так как не нужно создавать новый объект, если он уже существует в пуле.
🔸Оператор new — менее эффективен. Он принудительно создает новый объект в куче, даже если идентичная строка уже существует. Это может привести к избыточному расходу памяти.

▪️ 4. Количество создаваемых объектов

🔸String s1 = new String("Hello"); — Может создать 1 или 2 объекта.
1. Строковый литерал "Hello" сначала ищется в String Pool. Если его нет — он создается в пуле. (Первый возможный объект).
2. Затем ключевое слово new создает новый объект String в куче. (Второй объект).
Таким образом, если строка "Hello" ранее не существовала в пуле, эта строка кода создаст два объекта.
🔸String s2 = "Hello";
Создает 0 или 1 объект.
JVM ищет "Hello" в String Pool. Если находит — объект не создается, переменной присваивается существующая ссылка (0 новых объектов).
Если не находит — создает новый объект в String Pool (1 новый объект).

▪️Метод intern() — мостик между двумя подходами. Метод intern() позволяет вручную поместить строку из кучи в String Pool или получить ссылку на уже существующую там строку.
String s1 = new String("Hello");
String s2 = s1.intern(); // Помещаем строку в пул (или получаем ссылку из пула)
String s3 = "Hello";

System.out.println(s1 == s2); // false, т.к. s1 все еще в куче
System.out.println(s2 == s3); // true, т.к. s2 и s3 ссылаются на один объект в пуле

В этом примере s1.intern() находит строку "Hello" в пуле (которая была создана при вычислении литерала внутри конструктора) и возвращает на неё ссылку, которую мы присваиваем s2.

Практический вывод: Почти всегда следует использовать строковые литералы (String s = "value";). Этот способ более эффективен по памяти и времени, так как использует механизм пула строк. #java #задачи #программирование #собеседования #IT #структуры_данных

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
128👍21🔥72❤‍🔥2👨‍💻21
👩‍💻 Java: А есть ли связь между сравнением строк equals() и хешированием hashCode() ?

В Java существует важное правило (контракт):
1. Если две строки равны по equals(), то их hashCode() ДОЛЖЕН быть одинаковым
2. Обратное не обязательно верно: одинаковый hashCode() не гарантирует равенства строк
String s1 = "Hello";
String s2 = "Hello";
String s3 = new String("Hello");

System.out.println(s1.equals(s2)); // true
System.out.println(s1.hashCode() == s2.hashCode()); // true

System.out.println(s1.equals(s3)); // true
System.out.println(s1.hashCode() == s3.hashCode()); // true


👩‍💻 Как вычисляется hashCode для String

Метод hashCode() в классе String вычисляется на основе содержимого строки:
public int hashCode() {
int h = hash; // кэшированное значение
if (h == 0 && value.length > 0) {
char val[] = value;
for (int i = 0; i < value.length; i++) {
h = 31 * h + val[i];
}
hash = h;
}
return h;
}

Вычисляется по формуле: s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
Результат кэшируется в поле hash для производительности
Для одинакового содержимого всегда одинаковый hashCode, независимо от того, как была создана строка
value и hash — являются полями класса String и уже существуют в объекте, когда вызывается метод hashCode().
value — массив символов, который хранит собственно содержимое строки. Он инициализируется при создании объекта. String s = "Hello"; // value = {'H', 'e', 'l', 'l', 'o'}
hash — поле для кэширования вычисленного хэш-кода. Оно инициализируется по умолчанию значением 0.

Практическое применение в коллекциях: Связь hashCode и equals критически важна для работы хэш-коллекций:

🔸 HashMap/HashSet
Map<String, Integer> map = new HashMap<>();
map.put("Hello", 1);
map.put(new String("Hello"), 2); // Затрет предыдущее значение!

System.out.println(map.size()); // 1 - потому что ключи равны по equals()

1. Сначала сравниваются hashCode() — если разные, объекты точно разные
2. Если hashCode одинаковые, тогда вызывается equals() для точной проверки

🔸 Оптимизация сравнения
String s1 = "very long string ...";
String s2 = "another very long string ...";

// Сначала проверяется hashCode - быстрая операция
if (s1.hashCode() == s2.hashCode() && s1.equals(s2)) {
// Строки точно равны
}

▪️ 1. Коллизии хэшей — Разные строки могут иметь одинаковый hashCode (хэш-коллизия)
String a = "Aa";
String b = "BB";

System.out.println(a.hashCode()); // 2112
System.out.println(b.hashCode()); // 2112
System.out.println(a.equals(b)); // false

▪️ 2. Производительность

// Медленно - создается новый объект и вычисляется hashCode
String s1 = new String("Hello");

// Быстро - используется кэшированный hashCode из String Pool
String s2 = "Hello";

3. String Pool и hashCode
String s1 = "Hello";
String s2 = "Hello";
String s3 = new String("Hello");

// Все три имеют одинаковый hashCode, но разные способы создания
System.out.println(s1.hashCode()); // одинаковый
System.out.println(s2.hashCode()); // одинаковый
System.out.println(s3.hashCode()); // одинаковый

🔍 Важные моменты. HashCode тесно связан со сравнением строк через:
1. Контракт Java — равные строки по equals() должны иметь одинаковый hashCode
2.. Оптимизацию сравнения — хэш используется для быстрой предварительной проверки
3. Работу коллекций — HashMap, HashSet и другие используют эту связь для эффективного хранения и поиска
#java #задачи #программирование #собеседования #IT #структуры_данных

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
129👍22🔥7❤‍🔥4👨‍💻3😱1
🔍 Субботняя задачка по физике для разминки наших подписчиков

Вспомним немного оптики. Задачка из дополнительных вступительных испытаний в МГУ.

✍🏻 Попробуйте решить самостоятельно и написать в комментариях ваши идеи. ( Обсуждаем задачу здесь )

#геометрия #оптика #олимпиады #мгу #дви #задачи #problems #физика

💡 Physics.Math.Code // @physics_lib
1👍22147🔥7🤯2🤷‍♀1
🔥 Полезные вопросы по эффективности горения

По прошлому посту про реактивную горелку один из подписчиков задал очень хороший вопрос:
Зачем собирать такую гарелку-обогреватель, если можно просто сжечь бензин в тарелке и тепла будет столько же.

Действительно ли это так? Один из подвохов здесь заключается в том, что важно не количество тепла, а качество процесса и топлива.

▪️1. Тип топлива и его стоимость (Главный аргумент)

«Просто сжечь бензин»: Вы используете дорогое, высокоочищенное топливо. Это как топить камин долларовыми купюрами — да, тепло будет, но экономически невыгодно.
Горелка с эжекцией: Она идеально подходит для сжигания дешевых, низкокачественных и часто бесплатных видов топлива:
— Отработанное моторное масло (отработка). Его просто выбрасывают или дорого утилизируют. Для такой горелки — это идеальное и бесплатное топливо.
— Солярка (дизельное топливо). Дешевле бензина.
— Мазут.
— Растительные масла.
Эта горелка — не про бензин, а про утилизацию отходов и экономию. Вы получаете тепло практически даром.

▪️2. Качество сгорания и безопасность

«Просто сжечь бензин»: Вы плеснули бензин в миску и поднесли спичку. Что получится?
Горит открытое горючее тело — чудовищная пожароопасность. Любая искра, перевернутая емкость — и пожар.
Копоть и вредные выбросы. Бензин сгорает неполностью, выделяя сажу и токсичные вещества (угарный газ). Вы будете этим дышать.
Горелка с эжекцией:
Топливо предварительно испаряется/распыляется. Проходя по раскаленной трубке, жидкое топливо превращается в пар или мелкодисперсную взвесь. Это смешивается с воздухом и сгорает гораздо полнее.
Пламя стабилизировано. Оно горит на выходе из сопла, а не на поверхности открытой жидкости. Это стабильный, управляемый факел.
Выше температура и КПД. Из-за лучшего смесеобразования КПД такого сжигания (хоть и неидеальный) все равно выше, чем у открытой лужи. (т.е. и расход топлива меньше)
Эта конструкция безопаснее (относительно, конечно) и экологичнее, так как обеспечивает более полное сгорание.

▪️3. Автоматизация и стабильность

«Просто сжечь бензин»: Это одноразовый процесс. Сгорело — и все. Чтобы греть постоянно, нужно постоянно подливать топливо, что неудобно и опасно.
Горелка с эжекцией: Это саморегулирующаяся система. Пламя само подсасывает ровно столько топлива, сколько может испарить и сжечь. Вы залили бак — и она работает стабильно долгое время без вашего участия.

Тепла действительно будет примерно одинаково. Но эта горелка создана для другого:
1. Экономия: Она превращает бесплатные или очень дешевые отходы (отработка) в полезное тепло. Сравнивать нужно не с бензином, а со стоимостью дров, угля или электричества.
2. Эффективность и безопасность: Она сжигает это "грязное" топливо гораздо лучше и безопаснее, чем примитивное открытое горение.
3. Удобство: Это работоспособный, хоть и кустарный, нагревательный прибор, а не просто эксперимент. #задачи #physics #физика #опыты #термодинамика #эксперименты #горение

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍3811🔥7🤔3❤‍🔥1🤯1🤝1
Media is too big
VIEW IN TELEGRAM
😱 Физикам опять поставили шах и мат? Итак, перед вами perpetual motion machine with magnets: два шприца, на поршни приклеены неодимовые магниты, поршни шприцов прикреплены через проволочный коленчатый вал к ротору двигателя. Дают первоначальный импульс и поршни в шприцах начинают раскручивать генератор, к которому подключена лампочка и она светится. В чем подвох? Нарушает ли эта конструкция закон сохранения энергии?

Ключевая проблема: Как только магнит прошел точку максимального сближения и начинает удаляться, чтобы цикл повторился, вы должны снова преодолеть магнитное притяжение/отталкивание, но теперь уже в обратную сторону. То есть, та самая "магнитная пружина" теперь не толкает поршень, а мешает ему двигаться, и на преодоление этого сопротивления тратится энергия. Представьте шарик, который катится по волнистой поверхности. Скатившись с горки, он никогда не поднимется на следующую горку той же высоты из-за трения и потерь. Здесь то же самое.

Даже если бы с магнитами все было идеально (а это вообще так??), в системе есть множество источников потерь, на преодоление которых тратится энергия, вырабатываемая генератором:

1. Трение в механизмах: Трение в коленвале, в подшипниках ротора двигателя/генератора. Это главный "пожиратель" энергии.

2. Сопротивление воздуха: Движущиеся части (ротор, поршни) испытывают аэродинамическое сопротивление.

3. Трение поршней о стенки шприцов: Чтобы обеспечить герметичность, поршни плотно прилегают к стенкам, возникает значительная сила трения.

4. Магнитные потери: В генераторе при преобразовании механической энергии в электрическую происходят потери на нагревание обмоток, вихревые токи (токи Фуко) и т.д.

5. Нагрузка от лампочки: Сама лампочка, когда светится, — это и есть цель системы и главный потребитель энергии. Энергия, ушедшая на свет и нагрев лампочки, безвозвратно теряется системой.

Что происходит на самом деле? Вы даете первоначальный импульс (крутите пальцами коленвал). Вы сообщаете системе некоторый запас кинетической энергии. Магниты и правда помогают "подтолкнуть" поршни в нужный момент, делая движение более плавным и используя часть этой начальной энергии. Генератор начинает вырабатывать ток, и лампочка загорается. Но! Для вращения ротора генератора требуется приложить усилие (возникает тормозящий момент). Генератор не просто крутится — он "сопротивляется" вращению, потому что создает электричество. Энергия, запасенная вами при начальном толчке, очень быстро (за секунды или доли секунды) тратится. Но почему на видео всё работает? #задачи #опыты #электродинамика #физика #видеоуроки #fun #physics #science #наука #двигатели

🔔 Оксфордский электрический звонок: самый долгий научный эксперимент в мире, длящийся с 1840 года

⚡️ Вечный электромагнитный двигатель

😨 Запрещенный генератор свободной энергии с использованием метода якоря

⚡️ Генератор Постоянного Движения

🔧 Картонный вентилятор

🧲 Магнитный двигатель

💦 Фонтан Герона

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
144👍21🔥9🤯4🗿32🤔2😭1🤝1
📚 Фейнмановские лекции по физике [1976-1978] 💫

💾 Скачать книги

Это попытка одного из величайших умов XX века не просто изложить физику, но и передать особый, «фейнмановский» способ мышления о природе.

▪️ Не для абсолютных новичков. Несмотря на все старания Фейнмана сделать материал доступным, это очень плотный и сложный курс. Человеку без какой-либо базовой подготовки по математике и физике (на уровне старших классов физмат-школы или 1-2 курса вуза) будет крайне тяжело.

▪️ Не лучший выбор для «натаскивания» на экзамены. Если ваша цель — быстро решить сотню типовых задач для зачета, «Фейнмановские лекции» — не ваш инструмент. Они дают глубокое понимание, но не отрабатывают навык решения стандартных упражнений. Для этого лучше подходят классические задачники (вроде Иродова или Савельева).

▪️ Некоторые темы изложены нестандартно. Подход Фейнмана часто уникален и может расходиться с каноническим изложением в других учебниках. С одной стороны, это гениально, с другой — может вызвать путаницу у студента, который готовится к экзамену по конкретной программе.

▪️ Физика своего времени. Лекции были прочитаны в 1960-х годах. С тех пор физика ушла далеко вперед (например, в области физики элементарных частиц, космологии). Хотя фундамент остался неизменным, современному читателю важно это учитывать.

☕️ Для тех, кто захочет задонать на кофе: ВТБ: +79616572047 (СБП)

📚Книжная серия. Курс общей физики [2007-2020] Иродов, Покровский

📚 Сборник задач по общему курсу физики [3 книги] [1998-2000]

📚 Курс общей физики в 5 томах [2021] Савельев И.В.

📚 Наука. Величайшие теории [50 выпусков] + Спец. выпуск

📚 Курс теоретической физики [2 тома] [1972] А. С. Компанеец

#физика #математика #задачи #геометрия #physics #math #science #наука #подборка_книг

💡 Physics.Math.Code // @physics_lib
1👍2311🔥5❤‍🔥33😍1
🎲 Бросайте кубики, пока не надоест! Интересная задача по математике 🎲

Представьте, что у вас есть два обычных шестигранных игральных кубика (кости). Вы бросаете их одновременно и записываете сумму выпавших очков. Вы можете остановиться в любой момент. Ваша финальная сумма — это результат последнего броска перед остановкой. Какова оптимальная стратегия остановки, чтобы максимизировать ожидаемое значение финальной суммы, и чему равно это математическое ожидание?

Справятся ли с этой задачи наши физики, математики и айтишники? Ваши ответы, решения и идеи пишите здесь в комментариях. ✍🏻

#математика #теория_вероятностей #математическая_статистика #статистика #math #mathematics #задачи

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
157🤯7🔥3🤔3👍2