@@ninthchain9275 Да понять это немудрено. Смысл заключается в том, что не обязательно возводить большое число "n1" в большую степень "n2", чтобы узнать последнюю цифру результата. Достаточно взять число, состоящее из последних двух цифр "n1" и возвести в степень числат из последних двух цифр "n2". Из уже из этого результата берем последнюю цифру. Но, есть исключение - для него пишем отдельное условие. На Python это выглядит так: def last_digit(n1, n2): if not n1 % 10 and n2: return 0 else: return ((n1 % 100) ** (n2 % 100)) % 10
Приведение типов таким способом, на мой взгляд, есть плохой пример: 1. сильная зависимость от особенностей языка, 2. чтение линейных условных операторов сильно усложняется от количества итераций.
Сколько в среднем у вас занял поиск такого алгоритма с момента первого прочтения задачи. Решение пришло сразу, или через время или может в другой день? Такого рода задачи попадаются на интервью?
За час решается спокойно, если раньше решал задачи по длинной арифметике. На интервью вряд ли дадут, она больше тут завязана на математическом аппарате, нежели чем на программировании.
В принципе проверку при x ^ 0 можно же просто написать как: if (str2 == 0) return 1; Ощущение что что-то упускаю только. Ну и ==, а не === потому что там строка, но это очевидно как бы.
Решение отличное, всё бы хорошо но английский тоже важен, было более чем странно услышать от вас «фэлс» произношение false, ну только не этого слова )) Ну прямо очень неожиданно.
Был уверен, что если в str2 будет строка слишком большая для перевода в число, то +str2 даст NaN, !+str2 даст true, +!+str2 даст 1. А оказывается, +(очень большая строка) дает Infinity.
Не ясно при чем тут программирование. Аналогичная задача: определить делится ли число на 3. Идём в Гугл ищем "признак делимости на 3", пишем реализацию. Программиста я бы лучше попросил написать реализацию карриррования, композицию и частичное использования.
Здравствуйте. Ваши видео очень интересные, вы отличаетесь от молодых программистов - видеоблогеров, видно, что вы умный и образованный человек) Интересно следить за ходом ваших мыслей. В интернете сложно найти информацию, о том как основательно и постепенно изучать IT. Нет информации где взять основу, базы для программирования которую дают в университете. Все изучают язык программирования, но как программировать, если ты не имеешь представления о том как работает компьютер, или как читать книгу "foundations of python network programming" если ты не знаешь как работает сеть. Поделитесь информацией где взять основы, или посоветуйте книги от основ до мастерства) Спасибо.
По тому как устроен компьютер есть хорошая книга " Цифровая схемотехника и архитектура компьютера". Также по программированию есть Столяров.А "Программирование введение в профессию".
@@carthago_delenda_est а то что не релевантно тратить 5 лет жизни на универ что бы постичь основы. От таких советчиков как вы надо держаться по дальше.
та не, фигня какая-то... такое можно даже средствами скриптов кс 1.6 сервера решить... без проблем... Вот другое дело было бы, если б надо было найти первые 2 цифры.
@@chakchaky8521 рассуждение школьника, более менее взрослые люди такую ересь писать не будут...видимо ты застрял в том моменте, когда JS использовали только для создания слайдеров
@@АндрейБочарников-х5ъ ) я по сей день юзаю JS только для слайдеров в основном)))) Ну и для аяксов) Как в воду глядел) Ты пророк? А вообще я к нестрого типизированным языкам уже пару лет как плохо отношусь, хотя сам юзаю перл, руби и js почти каждый день(. Надеюсь в руби таки запилят строгую типизацию в этом году.
@@СергейРодин-ю3ъ нормальный программист знает то, что ему необходимо для решения задач. математика - это, конечно, очень здорово. но без знаний платформы/фреймворков зачастую быстро не поедешь. а ехать надо быстро.
@@АртП-м7ж согласен, математика в моей практике используется довольно редко. Но все равное ее знать желательно, т.к. она открывает много возможностей для оптимизации кода
Прикольно конечно, но за такие размышления на теории чисел нас ругали. У вас абсолютно нет никакого доказательства, что где-то в какой-то момент цикличность может сломаться. Это не очевидные вещи... вы можете получать 1000 раз цикличность ,но на 1001 она может сломаться.
чел, последняя цифра числа возводится в степень (умножается на себя), после чего мы работаем с последней цифрой полученного числа и тд.тп. При этом если в результате Х повторений последняя цифра совпадает со стартовой - всё, цикл замкнулся, ты вернулся в абсолютное(!) начало. Какое сломаться на 1001? Логика же
Решение дичь костыльная. Смотрите как возводится в степень в двоичной системе - все станет куда проще. А то цикличность, частный случай и прочую ересь придумываете. А ведь это ещё просто целые числа....
А ты решил эту задачку или ты настолько крут, что можешь советы давать не разобравшись в условии? Давай ты для начала покажешь свое крутое решение, а потом поговорим. Пока выглядит, что ты просто не понял условие задачи.