Ответ на задачу со звездочкой
сорьки, болею, сил нет часто писать посты
Как и говорил в прошлом посте, можно заметить закономерность, что чем больше "a" и чем меньше "b", тем ответ близится к "a" (Обратите внимание на горизонтальный ряд при b = 1 - он совпадает с числами в "a")
А также если привести пару контр-примеров, то можно заметить как "a" зависит от "b", это....целочисленное деление!
Бинго, дамы и господа. Осталось только внести правки в код, и мы добились выполнение функции от
Финальный код (ответ на задачу):
Be smart. Think cold
сорьки, болею, сил нет часто писать посты
Как и говорил в прошлом посте, можно заметить закономерность, что чем больше "a" и чем меньше "b", тем ответ близится к "a" (Обратите внимание на горизонтальный ряд при b = 1 - он совпадает с числами в "a")
А также если привести пару контр-примеров, то можно заметить как "a" зависит от "b", это....
Бинго, дамы и господа. Осталось только внести правки в код, и мы добились выполнение функции от
O(2^(a+b)) до O(1)Финальный код (ответ на задачу):
#include <iostream>
#include <cstdint>
uint64_t f(const uint64_t& a, const uint64_t& b)
{
if(a == 0 && b == 0) return 1;
if(a == 0 || b == 0) return 0;
if(a < b) return 0;
return a / b;
}
int main()
{
uint64_t a, b;
std::cin >> a >> b;
std::cout << f(a, b);
return 0;
}
Be smart. Think cold
🔥4❤1😍1
Что ж, потеряшки этого мира, те кто сидят 25/8 перед кампухтером и умеют профессионально чинить чайники (но это не точно-)
С Днем Программиста вас, ребятки!
День выбран не случайно - сегодня именно 256-й день в 2025 году
А у нас число 256 не просто число - это кол-во уникальных значений, которые может хранить 1 байт (8 бит) - база всех языков программирования, архитектур процессоров и вообще всей IT вселенной хе-хе
С Днем Программиста вас, ребятки!
День выбран не случайно - сегодня именно 256-й день в 2025 году
А у нас число 256 не просто число - это кол-во уникальных значений, которые может хранить 1 байт (8 бит) - база всех языков программирования, архитектур процессоров и вообще всей IT вселенной хе-хе
❤7🥰1😁1🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
Небольшая вырезка из переписи Бекенда
(Все работает оптимизированно и прямо в редакторе)
(Все работает оптимизированно и прямо в редакторе)
❤4🔥1🤯1
Forwarded from 𝐏𝐨𝐫𝐭𝐚𝐥: 𝐒𝐨𝐥𝐯𝐞𝐫
========
#news
========
Шаг Вперёд!
16 сентября в 19:00 выходит DevLog #4 !
В котором мы рассказали о многом из разработки проекта в больших деталях !
и даже поделились top secret фотографией генератора из редактора карт . . .
Также, мы более подробно затронули тему с "Планом разработки" и участники проекта углублённо поделились своим прогрессом из их сферы деятельности !
Увидимся на премьере, испытатели лаборатории Absolute !
https://youtu.be/K8LlJ6MprZE
#news
========
Шаг Вперёд!
16 сентября в 19:00 выходит DevLog #4 !
В котором мы рассказали о многом из разработки проекта в больших деталях !
и даже поделились top secret фотографией генератора из редактора карт . . .
Также, мы более подробно затронули тему с "Планом разработки" и участники проекта углублённо поделились своим прогрессом из их сферы деятельности !
Увидимся на премьере, испытатели лаборатории Absolute !
https://youtu.be/K8LlJ6MprZE
❤4🔥2
𝐏𝐨𝐫𝐭𝐚𝐥: 𝐒𝐨𝐥𝐯𝐞𝐫
======== #news ======== Шаг Вперёд! 16 сентября в 19:00 выходит DevLog #4 ! В котором мы рассказали о многом из разработки проекта в больших деталях ! и даже поделились top secret фотографией генератора из редактора карт . . . Также, мы более подробно затронули…
Меньше минуты, заваривайте чаек
А ещё бекендеры, для вас отдельное "извините", но это после девлога
А ещё бекендеры, для вас отдельное "извините", но это после девлога
❤3🔥1
Просто шастал по коду Анрила и заметил интересную вещь - в НЕ финальных версиях сборок есть разные рода защит от ошибок, как например ошибка от создания двойного класса
Защита от повторного создания одного и того же сабобъекта. Нам нужно проверять только имя, так как ConstructObject всё равно выдаст ошибку, если объект с таким же именем, но другим классом уже существует.
Это еще раз подтверждает, что в финальной сборке вся ответственность за код лежит на программисте, а не движке
Защита от повторного создания одного и того же сабобъекта. Нам нужно проверять только имя, так как ConstructObject всё равно выдаст ошибку, если объект с таким же именем, но другим классом уже существует.
Это еще раз подтверждает, что в финальной сборке вся ответственность за код лежит на программисте, а не движке
❤2🤔1🤝1
Невидимый результат - самый ценный, ведь именно он рождает будущее
Да-да, ребятки, наконец-то закончил с переписью и рефакторингом этого ШедевроБекенда: ура-ура-ура...
Но если серьезно... Было невыносимо сложно: Сонные глаза, говнокод (написанный в короткие сроки), выкидоны Анрила и мольбы всем святым чтобыопять не заруинить проект
Что изменилось? Ну, удалено более 20 блюпринтов (остались только менюшки), теперь все спавнится как чистый С++ класс. Также переименовал старые название переменных/классов, и отсортировал все
А так, признаюсь, если за всю неделю спать по 3-4 часа в сутки, то начинаешь уставать... 💀 Но осталось дело за малым: Добавить долгожданную кастомизацию на UI, закончить с панелью веры, изучить API GameJolt'a для таблицы рекордов и составить парочку новых тестовых камер. Впрочем, сегодня знаменательная ночь, триумф я бы даже сказал.. Думаю можно поделиться своим вайбом кодерабез личной жизни
и отвечая сразу: да, сука, я буду писать код пока живой! хвхвхв
Relax and sleep. Think cold.
Да-да, ребятки, наконец-то закончил с переписью и рефакторингом этого ШедевроБекенда: ура-ура-ура...
Но если серьезно... Было невыносимо сложно: Сонные глаза, говнокод (написанный в короткие сроки), выкидоны Анрила и мольбы всем святым чтобы
Что изменилось? Ну, удалено более 20 блюпринтов (остались только менюшки), теперь все спавнится как чистый С++ класс. Также переименовал старые название переменных/классов, и отсортировал все
А так, признаюсь, если за всю неделю спать по 3-4 часа в сутки, то начинаешь уставать... 💀 Но осталось дело за малым: Добавить долгожданную кастомизацию на UI, закончить с панелью веры, изучить API GameJolt'a для таблицы рекордов и составить парочку новых тестовых камер. Впрочем, сегодня знаменательная ночь, триумф я бы даже сказал.. Думаю можно поделиться своим вайбом кодера
и отвечая сразу: да, сука, я буду писать код пока живой! хвхвхв
Relax and sleep. Think cold.
❤2🎉1
Если вы не знаете как пройти эту камеру, то помните - я сам не знаю как она работает
но главное правило авиамеханика: работает - не трогай
но главное правило авиамеханика: работает - не трогай
😁4❤🔥1🤯1
Мое мнение по поводу вайб кодинга и использования ИИ в коде [1/2]
(Спойлер - хорошее)
Будем честны: Компьютер - пиздец какая сложная штука. В нем находится несколько миллиардов байт (1 ГБ = 1 млрд. байт, а у вас наверняка 16 ГБ ОЗУ и несколько терабайт жёсткого диска...). И становится сложно каждый такой байт оцифровывать. Для этого придумали "слои упрощения", которые со временем эволюционировали. Но начнем с начала:
Assembler - прямое общение с железом. Вроде бы не плохо, но при увеличении размерности становится сложно... Человек подумал, подумал, да придумал:
Компиляторы - специальная программа, которая переводит более менее понятные человеку код в ассемблерные инструкции (машинный код). Примерами можно привести С/С++. Но планка входа в них довольно таки высокая, да и логирование ошибок довольно все же муторное, поэтому появились они:
Интерпретаторы - программа, которая в реальном времени переводит человеческий код в машинный и/или вызывает уже скомпилированные функции внутри программы. Например Python для Blender/Unreal или Lua для Garry's Mod. Интерпретируемые языки более просты, легко логируемые и очень хорошо опускают планку входа. Но что действительно сильно опустило планку:
Blueprints - вообще, правильно сказать "визуальное программирование", но суть уловили. Это очень мощная вещь, которая сильно отличается своей простотой и понятностью. Ни одной строчки кода. Собрал цепочку из нод, нажал кнопочку "скомпилировать" и уже движок под капотом из нод собирает С++ код, а С++ код в свою очередь компилируется в машинный код. То есть Blueprints -> C++ -> Assembler.
И можно заметить: Каждый следующий слой автоматизирует и упрощает работу с предыдущим, это в своем роде превращается в "интерфейс к интерфейсу". И уже нужно сказать стоп! Мы и так опустили планку! Но нет... Долгое время для того чтобы влиться в кодинг нужно было понимать хотя бы базовые концепции и синтаксис (область определения, или хотя бы отличать int от float ¯\_(ツ)_/¯), а затем появились они:
ИИ-Ассистенты - ChatGPT, Copilot, DeepSeek, Perplexity и другие... Искусственный интеллект не только опустил планку входа в кодинг до минимума, но также автоматизировал то, что раньше было нормой. И я даже не про написание шаблонного кода. Теперь рефакторинг, написание документации и более четкое прописывание архитектуры стало чем-то в своем роде живописью. Разработчики превратились из строителей в архитекторов. Хочу сказать, что мы живём в хорошее время.. Однако...
У этого и других слоев есть свои особенности. В один пост все не уместить, так что в следующей части расскажу про подводные камни и свое финальное мнение по этой теме
(Спойлер - хорошее)
Будем честны: Компьютер - пиздец какая сложная штука. В нем находится несколько миллиардов байт (1 ГБ = 1 млрд. байт, а у вас наверняка 16 ГБ ОЗУ и несколько терабайт жёсткого диска...). И становится сложно каждый такой байт оцифровывать. Для этого придумали "слои упрощения", которые со временем эволюционировали. Но начнем с начала:
Assembler - прямое общение с железом. Вроде бы не плохо, но при увеличении размерности становится сложно... Человек подумал, подумал, да придумал:
Компиляторы - специальная программа, которая переводит более менее понятные человеку код в ассемблерные инструкции (машинный код). Примерами можно привести С/С++. Но планка входа в них довольно таки высокая, да и логирование ошибок довольно все же муторное, поэтому появились они:
Интерпретаторы - программа, которая в реальном времени переводит человеческий код в машинный и/или вызывает уже скомпилированные функции внутри программы. Например Python для Blender/Unreal или Lua для Garry's Mod. Интерпретируемые языки более просты, легко логируемые и очень хорошо опускают планку входа. Но что действительно сильно опустило планку:
Blueprints - вообще, правильно сказать "визуальное программирование", но суть уловили. Это очень мощная вещь, которая сильно отличается своей простотой и понятностью. Ни одной строчки кода. Собрал цепочку из нод, нажал кнопочку "скомпилировать" и уже движок под капотом из нод собирает С++ код, а С++ код в свою очередь компилируется в машинный код. То есть Blueprints -> C++ -> Assembler.
И можно заметить: Каждый следующий слой автоматизирует и упрощает работу с предыдущим, это в своем роде превращается в "интерфейс к интерфейсу". И уже нужно сказать стоп! Мы и так опустили планку! Но нет... Долгое время для того чтобы влиться в кодинг нужно было понимать хотя бы базовые концепции и синтаксис (область определения, или хотя бы отличать int от float ¯\_(ツ)_/¯), а затем появились они:
ИИ-Ассистенты - ChatGPT, Copilot, DeepSeek, Perplexity и другие... Искусственный интеллект не только опустил планку входа в кодинг до минимума, но также автоматизировал то, что раньше было нормой. И я даже не про написание шаблонного кода. Теперь рефакторинг, написание документации и более четкое прописывание архитектуры стало чем-то в своем роде живописью. Разработчики превратились из строителей в архитекторов. Хочу сказать, что мы живём в хорошее время.. Однако...
У этого и других слоев есть свои особенности. В один пост все не уместить, так что в следующей части расскажу про подводные камни и свое финальное мнение по этой теме
❤8🔥1