Считаем единички
#задачки
Меня всегда забавляли задачки на бинарное представление чисел. Всегда можно найти занимательные и новые для себя подходы.
Вроде бы простая и популярная задача: посчитать количество единиц в битовом представлении числа. Уверен, что большинство из вас решали эту задачу.
Однако популярный подход - не самый эффективный, элегантный и интересный.
Благо существует множество непопулярных, но очень интересных решений! О них я расскажу в завтра в ответном посте.
А пока предлагаю вам порешать эту задачку. Если вы знаете какие-то нетривиальные решения, то расскажите о них в комментах тоже.
А чтобы умудренным опытом людям было немного интереснее, давайте ограничим условия. Задачу надо решить либо за константное время(в среднем), либо за наименьшее количество строчек. Выражения вне цикла for разделенные символом
Challenge yourself. Stay cool.
#задачки
Меня всегда забавляли задачки на бинарное представление чисел. Всегда можно найти занимательные и новые для себя подходы.
Вроде бы простая и популярная задача: посчитать количество единиц в битовом представлении числа. Уверен, что большинство из вас решали эту задачу.
Однако популярный подход - не самый эффективный, элегантный и интересный.
Благо существует множество непопулярных, но очень интересных решений! О них я расскажу в завтра в ответном посте.
А пока предлагаю вам порешать эту задачку. Если вы знаете какие-то нетривиальные решения, то расскажите о них в комментах тоже.
А чтобы умудренным опытом людям было немного интереснее, давайте ограничим условия. Задачу надо решить либо за константное время(в среднем), либо за наименьшее количество строчек. Выражения вне цикла for разделенные символом
;
считаются разными строчками.int count_ones(unsigned num) {
// Here your code
}
Challenge yourself. Stay cool.
❤1
🎲 Тест «Тест по C++»
Пройдите тестирование, проверьте свои знания с помощью онлайн тест-викторины C++, подготовьтесь к экзаменам по C++.
🖊 15 вопросов · ⏱ 30 сек
Пройдите тестирование, проверьте свои знания с помощью онлайн тест-викторины C++, подготовьтесь к экзаменам по C++.
🖊 15 вопросов · ⏱ 30 сек
👍1🥱1
📚 Основное определение:
Поинтеры — это переменные, которые хранят адреса других переменных в памяти. Они активно используются в системном программировании, разработке встраиваемых систем и при работе с динамической памятью. Главная особенность — прямой доступ к памяти и эффективная работа с данными.
🔍 Ключевые концепции:
1️⃣ Объявление поинтера: int *ptr — создает указатель на целое число
2️⃣ Получение адреса: &variable — оператор для получения адреса переменной
3️⃣ Разыменование: *ptr — доступ к значению по адресу в указателе
4️⃣ Арифметика указателей: ptr++ перемещает указатель на следующий элемент
5️⃣ Связь с массивами: array[i] эквивалентно *(array + i)
6️⃣ Динамическая память: malloc() и free() для управления памятью
💻 Практический пример:
📎 Дополнительные ресурсы:
👉 Полное руководство по указателям в C
Поинтеры — это переменные, которые хранят адреса других переменных в памяти. Они активно используются в системном программировании, разработке встраиваемых систем и при работе с динамической памятью. Главная особенность — прямой доступ к памяти и эффективная работа с данными.
🔍 Ключевые концепции:
1️⃣ Объявление поинтера: int *ptr — создает указатель на целое число
2️⃣ Получение адреса: &variable — оператор для получения адреса переменной
3️⃣ Разыменование: *ptr — доступ к значению по адресу в указателе
4️⃣ Арифметика указателей: ptr++ перемещает указатель на следующий элемент
5️⃣ Связь с массивами: array[i] эквивалентно *(array + i)
6️⃣ Динамическая память: malloc() и free() для управления памятью
💻 Практический пример:
int array[] = {1, 2, 3, 4, 5};
int *ptr = array;
for(int i = 0; i < 5; i++) {
printf(«%d «, *ptr); ptr++;
}
// Вывод: 1 2 3 4 5
📎 Дополнительные ресурсы:
👉 Полное руководство по указателям в C
❤1👍1👏1
Книги по C++.
Скачивайте и читайте.
Beginning C++ Compilers
Автор: Ademi B. Ospanova
Modern C++ for Absolute Beginners
Автор: Slobodan Dmitrović
C++20: Get the Details
Автор: Grimm Rainer
Starting Out with C++ from Control Structures to Objects
Автор: Tony Gaddis
Software Architecture with C++
Автор: Adrian Ostrowski
Expert C++
Автор: Araks Tigranyan
Современный C++ безопасное использование
Автор: Джон Лакос
Методы программирования в задачах и примерах на C/C++
Автор: А. А. Корнев
Программирование на языке C++. Практический курс
Автор: Огнева М.
Самоучитель "Уроки по C++"
Автор: Ravesli
#cpp #подборка
Скачивайте и читайте.
Beginning C++ Compilers
Автор: Ademi B. Ospanova
Modern C++ for Absolute Beginners
Автор: Slobodan Dmitrović
C++20: Get the Details
Автор: Grimm Rainer
Starting Out with C++ from Control Structures to Objects
Автор: Tony Gaddis
Software Architecture with C++
Автор: Adrian Ostrowski
Expert C++
Автор: Araks Tigranyan
Современный C++ безопасное использование
Автор: Джон Лакос
Методы программирования в задачах и примерах на C/C++
Автор: А. А. Корнев
Программирование на языке C++. Практический курс
Автор: Огнева М.
Самоучитель "Уроки по C++"
Автор: Ravesli
#cpp #подборка
Программирование на
языке C++. Практический курс
Авторы: Огнева М., Кудрина Е.
Год издания: 2022
#cpp #ru
Скачать книгу
языке C++. Практический курс
Авторы: Огнева М., Кудрина Е.
Год издания: 2022
#cpp #ru
Скачать книгу
Telegram
Что по книжкам?
Modern C++ for Absolute Beginners
Автор: Slobodan Dmitrović
Год издания: 2023
#cpp #en #2O23
Скачать книгу
Автор: Slobodan Dmitrović
Год издания: 2023
#cpp #en #2O23
Скачать книгу
В map все основные операции выполняются за O(log n), так как используется сбалансированное дерево. В unordered_map вставка, удаление и поиск обычно выполняются за O(1), но могут ухудшаться до O(n), если произойдет много коллизий.
Ставь 👍 если знал ответ, 🔥 если нет
Please open Telegram to view this post
VIEW IN TELEGRAM
☸️Хотите узнать, как деплоить ASP.NET-приложения в Kubernetes?
📅26 марта в 20:00 мск на открытом вебинаре мы разберем:
– PersistentVolume
– ConfigMap
– Secret
– Развернем БД в кластере и обсудим, почему секреты не такие уж секретные.
С Kubernetes ваши ASP.NET Core-приложения станут масштабируемыми и гибкими.
➡️ Регистрируйтесь на вебинар и получите скидку на курс «C# ASP.NET Core-разработчик»
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
📅26 марта в 20:00 мск на открытом вебинаре мы разберем:
– PersistentVolume
– ConfigMap
– Secret
– Развернем БД в кластере и обсудим, почему секреты не такие уж секретные.
С Kubernetes ваши ASP.NET Core-приложения станут масштабируемыми и гибкими.
➡️ Регистрируйтесь на вебинар и получите скидку на курс «C# ASP.NET Core-разработчик»
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍1
Методы программирования в
задачах и примерах на C/C++
Авторы: А. А. Корнев,
В. Д. Валединский
Дата выхода: 2023
#cpp #ru
Скачать книгу
задачах и примерах на C/C++
Авторы: А. А. Корнев,
В. Д. Валединский
Дата выхода: 2023
#cpp #ru
Скачать книгу
map использует структуру красно-черного дерева, поддерживая упорядоченность элементов, тогда как unordered_map применяет хеш-таблицу, распределяя элементы по бакетам на основе их хеша.
Ставь 👍 если знал ответ, 🔥 если нет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👾2🌚1
⚡️Асинхронность без сложных потоков? В C++20 это возможно. Корутины позволяют выполнять задачи параллельно без создания лишних потоков, экономя ресурсы и упрощая код.
На открытом вебинаре 27 марта в 20:00 мск разберём, как co_await и co_yield работают в современных C++-проектах, где применяются в реальных задачах и почему это важно для высоконагруженных систем. Разберём практические примеры из сетевого программирования и обработки данных.
Освойте новую парадигму асинхронности, избавьтесь от проблем с потоками и сделайте свой код проще и быстрее. Вы научитесь внедрять корутины в свои проекты, разберётесь в новшествах C++20/23 и сможете использовать их в продакшене.
👉Регистрируйтесь и получите скидку на большое обучение «C++ Developer. Professional»: https://otus.pw/Uog9/
На открытом вебинаре 27 марта в 20:00 мск разберём, как co_await и co_yield работают в современных C++-проектах, где применяются в реальных задачах и почему это важно для высоконагруженных систем. Разберём практические примеры из сетевого программирования и обработки данных.
Освойте новую парадигму асинхронности, избавьтесь от проблем с потоками и сделайте свой код проще и быстрее. Вы научитесь внедрять корутины в свои проекты, разберётесь в новшествах C++20/23 и сможете использовать их в продакшене.
👉Регистрируйтесь и получите скидку на большое обучение «C++ Developer. Professional»: https://otus.pw/Uog9/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍1
Ставь 👍 если знал ответ, 🔥 если нет
Please open Telegram to view this post
VIEW IN TELEGRAM
👌1🌚1
Контейнеры, такие как list и deque, позволяют вставку в начало за O(1). В vector вставка в начало возможна, но требует O(n), так как все элементы сдвигаются вправо.
Ставь 👍 если знал ответ, 🔥 если нет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
💻Хотите быстро научиться строить интерактивные интерфейсы на C#?
Присоединяйтесь к открытому уроку 8 апреля в 20:00 мск, где мы покажем, как сделать ваш код живым и динамичным!
📖Вы научитесь использовать класс System.Console для создания простых, но интересных программ с текстовыми интерфейсами. Например, вы напишете свою версию игры "Крестики-нолики" прямо в консоли. Это легко и увлекательно!
🔥С этим знанием вы сможете не просто выводить данные, а создавать интерактивные приложения, которые смогут реагировать на действия пользователя.
➡️ Зарегистрируйтесь на вебинар и получите скидку по промокоду SHARP_SPEC_4 на большое обучение «C# Developer»
Промокод действителен до 30.04.2025
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Присоединяйтесь к открытому уроку 8 апреля в 20:00 мск, где мы покажем, как сделать ваш код живым и динамичным!
📖Вы научитесь использовать класс System.Console для создания простых, но интересных программ с текстовыми интерфейсами. Например, вы напишете свою версию игры "Крестики-нолики" прямо в консоли. Это легко и увлекательно!
🔥С этим знанием вы сможете не просто выводить данные, а создавать интерактивные приложения, которые смогут реагировать на действия пользователя.
➡️ Зарегистрируйтесь на вебинар и получите скидку по промокоду SHARP_SPEC_4 на большое обучение «C# Developer»
Промокод действителен до 30.04.2025
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Пройдите вступительный тест и получите доступ к бесплатным урокам курса «C# ASP.NET Core разработчик».
👉 Пройти тест
Хотите стать фуллстэк, увеличить доход и выполнять более интересные и важные задачи?
За 6 месяцев обучения вы научитесь:
✔️ Самостоятельно реализовывать веб-приложения на ASP.Net Core
✔️ Создавать высоконагруженные API на GraphQL, gRPC и SignalR Core
✔️ Освоите JavaScript, познакомитесь с ReactJS и научитесь интегрировать его с ASP.NET Core
✔️ Покрывать веб-приложения интеграционными и нагрузочными тестами
✔️ Разворачивать веб-приложения в Docker-контейнерах и в облаках
✔️ Настраивать CI/CD и использовать Kubernetes
✔️ Реализовывать микросервисную архитектуру и использовать RabbitMQ
✔️ Управлять безопасностью и защищаться от хакерских атак
Наш курс включает в себя все необходимые знания и практические задания, чтобы вы стали настоящим профессионалом.
❗️ После успешного прохождения теста вам будут доступны уроки на лендинге курса, и скидка на обучение «C# ASP.NET Core разработчик».
👉 Пройти тест
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Хотите стать фуллстэк, увеличить доход и выполнять более интересные и важные задачи?
За 6 месяцев обучения вы научитесь:
Наш курс включает в себя все необходимые знания и практические задания, чтобы вы стали настоящим профессионалом.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1