Решение сложных задач с codewars #1

Поділитися
Вставка
  • Опубліковано 14 лис 2024

КОМЕНТАРІ • 117

  • @РоманГирич-з5ш
    @РоманГирич-з5ш 4 роки тому +44

    даже с пояснением не могу сказать что понял на 100% =)

    • @ninthchain9275
      @ninthchain9275 2 роки тому +1

      есть видео на английском. Где человек объясняет как считать корни в уме. Там есть аналогичная таблица квадратов.

    • @ozen950
      @ozen950 Рік тому

      @@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

  • @trezzh4
    @trezzh4 2 роки тому +1

    Интересно, что как только услышал определение задачи, стал вырисовываться путь решения. Приятно что он совпал с вашим.

  • @justinkim1803
    @justinkim1803 5 років тому +13

    Спасибо за видео! Вот бы побольше видео про Codewars :)

    • @S0ERDEVS
      @S0ERDEVS  5 років тому

      У АйТиБороды стрим по codewars будет, на выходных вроде. Он на 10 часов забег планирует

    • @justinkim1803
      @justinkim1803 5 років тому

      Software Engineer - Soer спасибо!

  • @MrDilord
    @MrDilord 5 років тому +48

    +!+str2, видя такое индусы тихо плачут в сторонке =)

    • @art1n
      @art1n 5 років тому +2

      tl dr, oneliner ftw ... (не надо так)

    • @Mike-hp3fh
      @Mike-hp3fh 4 роки тому +9

      это плохой код, он подходит только для оптимизации размера файла, или когда времени нет писать if else

    • @justamosquito191
      @justamosquito191 4 роки тому +16

      @@Mike-hp3fh времени нет? Это типа, когда ты пишешь код в обрущающемся здании.

    • @bukanaka
      @bukanaka 3 роки тому +1

      @@justamosquito191 когда падаешь в самолёте

    • @Dimaaasik
      @Dimaaasik 2 роки тому +1

      @@Mike-hp3fh этот код нужен чтобы издеваться над джуном и показывать ему кто тут батя)))

  • @ibramkadyrov9734
    @ibramkadyrov9734 3 роки тому +25

    "5 баллов не сложное но и не легкое" .
    Я который пытается решить 8 уровень 🗿🗿🗿

    • @hulahup
      @hulahup 3 роки тому

      Прошло 2 месяца, до какого дошёл?

    • @ibramkadyrov9734
      @ibramkadyrov9734 3 роки тому

      @@hulahup ни до какого(

    • @ibramkadyrov9734
      @ibramkadyrov9734 2 роки тому

      @@hulahup прогресса все ещё нет, в свое оправдание могу сказать что не было времени разбирать

    • @hulahup
      @hulahup 2 роки тому

      @@ibramkadyrov9734 жаль

    • @ibramkadyrov9734
      @ibramkadyrov9734 2 роки тому

      @@hulahup ещё как

  • @okopulko
    @okopulko 5 років тому +7

    Приведение типов таким способом, на мой взгляд, есть плохой пример: 1. сильная зависимость от особенностей языка, 2. чтение линейных условных операторов сильно усложняется от количества итераций.

    • @aga_gg
      @aga_gg Рік тому

      Ты такой умный? Делай по своему.

  • @vladimirsrednikh3023
    @vladimirsrednikh3023 3 роки тому +2

    Не стоит гордиться функциями в одну строчку ;-)

  • @i.am.rossalex
    @i.am.rossalex 2 роки тому

    Хорошее задание, но не сложное. Просто нужно было вспомнить школьный курс алгебры. Круть! Мне нра!

    • @Sergey_Klimov
      @Sergey_Klimov 2 роки тому

      В школе не преподают цикличность возведения всех чисел в квадрат)) Это уже сам должен догадаться) У вас всему в школе учат)))

    • @ggeerrppeess
      @ggeerrppeess 2 роки тому

      Алгебра не занимается изучением свойств числа. Она занимается операциями над числами.

  • @olegkhilko2339
    @olegkhilko2339 Рік тому

    В принципе проверку при x ^ 0 можно же просто написать как: if (str2 == 0) return 1;
    Ощущение что что-то упускаю только. Ну и ==, а не === потому что там строка, но это очевидно как бы.

  • @Andrew_Petrovich_Zykov
    @Andrew_Petrovich_Zykov 5 місяців тому

    ооочень простая задача

  • @evariste6943
    @evariste6943 3 роки тому +1

    классическая теория чисел❤️

  • @tais4925
    @tais4925 4 роки тому

    Очень круто мужик. Нашел ту же закономерность, только решение сделал кучей else if.

  • @DarkMaks93
    @DarkMaks93 4 роки тому +9

    Решение крутое, но такой код ужасно не читаем. У нас такой код называют WriteOnly. Написать написал, а прочитать потом нереально.

    • @hmixa
      @hmixa 3 роки тому +1

      Не надо, это я так называю WriteOnly 😀😀😀😀😀 Шутка конечно, но я с Вами целиком согласен! Код пишется для человека а не для компа!

    • @АндрейБочарников-х5ъ
      @АндрейБочарников-х5ъ 2 роки тому

      @@hmixa только не в случае с Codewars

  • @torburgmax
    @torburgmax 4 роки тому

    джаваскрипт такой джаваскрипт) за возможность подумать вместе спасибо!

  • @MudroZvon
    @MudroZvon 6 років тому +5

    0:16 хотел сказать "различной степени тяжести")))

  • @Ssim2750
    @Ssim2750 3 роки тому +1

    Решение отличное, всё бы хорошо но английский тоже важен, было более чем странно услышать от вас «фэлс» произношение false, ну только не этого слова )) Ну прямо очень неожиданно.

    • @i.am.rossalex
      @i.am.rossalex 2 роки тому +1

      "Фолс"... Но "цвет на скорость не влияет" :)

    • @nightyonetwothree
      @nightyonetwothree 2 роки тому

      @@i.am.rossalex а как же красный? Он же быстрее

  • @evgeniymishchenko5107
    @evgeniymishchenko5107 3 роки тому +4

    Сколько в среднем у вас занял поиск такого алгоритма с момента первого прочтения задачи. Решение пришло сразу, или через время или может в другой день?
    Такого рода задачи попадаются на интервью?

    • @parodem
      @parodem 3 роки тому +2

      За час решается спокойно, если раньше решал задачи по длинной арифметике. На интервью вряд ли дадут, она больше тут завязана на математическом аппарате, нежели чем на программировании.

  • @senioreasy
    @senioreasy 4 роки тому +5

    Про остаток от деления на 4 не разъяснил. Мне не понятна связь.

  • @DenisSvistoplasov
    @DenisSvistoplasov 2 роки тому

    Был уверен, что если в str2 будет строка слишком большая для перевода в число, то
    +str2 даст NaN,
    !+str2 даст true,
    +!+str2 даст 1.
    А оказывается, +(очень большая строка) дает Infinity.

  • @whoami_____7308
    @whoami_____7308 4 роки тому

    у кодварсов раньше через execlp("cat", "cat", "...") можно было пропалить решения)

  • @BCEMCPATb
    @BCEMCPATb 5 років тому +6

    Ничего не понятно. Но очень интересно)

  • @valentinavalentina9449
    @valentinavalentina9449 5 років тому

    Красиво. Мне такая задача была на Ruby.
    def last_digit(n1, n2)
    n2.zero? ? 1 : ((n1 % 10) ** (n2 % 4 + 4)) % 10
    end

  • @eugenenovikov671
    @eugenenovikov671 6 років тому +2

    круто

  • @Povelitels
    @Povelitels 6 років тому +10

    Здравствуйте. Ваши видео очень интересные, вы отличаетесь от молодых программистов - видеоблогеров, видно, что вы умный и образованный человек) Интересно следить за ходом ваших мыслей.
    В интернете сложно найти информацию, о том как основательно и постепенно изучать IT. Нет информации где взять основу, базы для программирования которую дают в университете.
    Все изучают язык программирования, но как программировать, если ты не имеешь представления о том как работает компьютер, или как читать книгу "foundations of python network programming" если ты не знаешь как работает сеть. Поделитесь информацией где взять основы, или посоветуйте книги от основ до мастерства) Спасибо.

    • @btctrade
      @btctrade 4 роки тому +3

      Dmitry Minchenko ну просто, блин, охренительный ответ. Очень полезно.

    • @АлексейТипунин
      @АлексейТипунин 4 роки тому

      По тому как устроен компьютер есть хорошая книга " Цифровая схемотехника и архитектура компьютера". Также по программированию есть Столяров.А "Программирование введение в профессию".

    • @denisoleksiuk5337
      @denisoleksiuk5337 4 роки тому

      @@carthago_delenda_est ахаха ты сам то понял что написал?

    • @denisoleksiuk5337
      @denisoleksiuk5337 4 роки тому +1

      @@carthago_delenda_est а то что не релевантно тратить 5 лет жизни на универ что бы постичь основы. От таких советчиков как вы надо держаться по дальше.

  • @amxx8335
    @amxx8335 4 роки тому +6

    та не, фигня какая-то... такое можно даже средствами скриптов кс 1.6 сервера решить... без проблем... Вот другое дело было бы, если б надо было найти первые 2 цифры.

  • @MrJloa
    @MrJloa 3 роки тому +2

    Не ясно при чем тут программирование.
    Аналогичная задача: определить делится ли число на 3. Идём в Гугл ищем "признак делимости на 3", пишем реализацию.
    Программиста я бы лучше попросил написать реализацию карриррования, композицию и частичное использования.

  • @ИгнатАникович
    @ИгнатАникович 5 років тому

    неплохо)

  • @losdangerous4127
    @losdangerous4127 3 роки тому

    У меня пропали задачи на кодварс, ни у кого не было такой проблемы?

  • @ЕгорИванов-р9з
    @ЕгорИванов-р9з 4 роки тому

    Тупо я,когда пришёл на егэ по информатике

  • @dioflok26
    @dioflok26 5 років тому +53

    Задача на знание алгебры, не программирования.

    • @СергейРодин-ю3ъ
      @СергейРодин-ю3ъ 5 років тому +6

      В точку! О том и речь. Обычный программист знает кучу фреймворков и библиотек, нормальный - математику.

    • @АртП-м7ж
      @АртП-м7ж 5 років тому +48

      @@СергейРодин-ю3ъ нормальный программист знает то, что ему необходимо для решения задач. математика - это, конечно, очень здорово. но без знаний платформы/фреймворков зачастую быстро не поедешь. а ехать надо быстро.

    • @JackFastGame
      @JackFastGame 5 років тому +4

      В олимпиадах почти все задачи математические.

    • @Mike-hp3fh
      @Mike-hp3fh 4 роки тому +1

      @@АртП-м7ж согласен, математика в моей практике используется довольно редко. Но все равное ее знать желательно, т.к. она открывает много возможностей для оптимизации кода

    • @kekivanovich9222
      @kekivanovich9222 4 роки тому

      @@JackFastGame удачи зарабатывать на математике, лось

  • @HelloWorld-sy4yc
    @HelloWorld-sy4yc 4 роки тому +1

    3:15, получили, что 112 == 4)

  • @user-bo7mb9cf4d
    @user-bo7mb9cf4d 3 роки тому

    А зачем так сложно? Можно же просто результат числа в степени перевести в строку и с ней взять последний индекс(число)

    • @S0ERDEVS
      @S0ERDEVS  3 роки тому

      Покажи решение (код).

    • @user-bo7mb9cf4d
      @user-bo7mb9cf4d 3 роки тому +1

      function func (num, pow) {
      let resultString = num**pow + '';
      return +resultString[resultString.length-1];
      }
      console.log(func(9, 2));

    • @S0ERDEVS
      @S0ERDEVS  3 роки тому +1

      числа могут быть очень большие по несколько сот знаков, ты не можешь эффективно их возводить в квадрат.

    • @skeleton_man00
      @skeleton_man00 3 роки тому

      @@user-bo7mb9cf4d лол, а ничего, что такой алгоритм будет очень долго выполнятся? Да и к тому же, не на всяком ПК такой алгоритм будет эффективным.

  • @IlyaZherebtsov
    @IlyaZherebtsov 3 роки тому

    как до этого додуматься? =\

  • @ibramkadyrov9734
    @ibramkadyrov9734 3 роки тому

    Вопрос ,имеют ли такие задачи место в реальном программирование?

    • @Dimaaasik
      @Dimaaasik 2 роки тому

      ещё как имеют , но это уже для более продвинутых кодеров которые работают с данными и огромными базами данных

    • @Boobnovslava
      @Boobnovslava 2 роки тому

      Зависит от того, что такое реальное программирование

  • @nikitalebediev9908
    @nikitalebediev9908 6 років тому +3

    Я извиняюсь , а когда это js - серы стали SoftwareE?

    • @S0ERDEVS
      @S0ERDEVS  6 років тому

      А кто говорил, что JS-серы - Software?

    • @chakchaky8521
      @chakchaky8521 4 роки тому

      Js-еры - это няшколепы, а не инженеры)))) даже нода им уже не поможет....

    • @АндрейБочарников-х5ъ
      @АндрейБочарников-х5ъ 4 роки тому +1

      @@chakchaky8521 рассуждение школьника, более менее взрослые люди такую ересь писать не будут...видимо ты застрял в том моменте, когда JS использовали только для создания слайдеров

    • @chakchaky8521
      @chakchaky8521 4 роки тому

      @@АндрейБочарников-х5ъ ) я по сей день юзаю JS только для слайдеров в основном)))) Ну и для аяксов) Как в воду глядел) Ты пророк? А вообще я к нестрого типизированным языкам уже пару лет как плохо отношусь, хотя сам юзаю перл, руби и js почти каждый день(. Надеюсь в руби таки запилят строгую типизацию в этом году.

  • @nikitalebediev9908
    @nikitalebediev9908 6 років тому

    Но канал так называется Software E

    • @romankocherezhchenko34
      @romankocherezhchenko34 5 років тому

      Дело в том, что любое что пишет программист по сути софт, даже если это web, даже если js)

  • @konstantinbondarenko5235
    @konstantinbondarenko5235 6 років тому

    Очень интересно. Мой рейтинг Codewars на уровне 162 kyu

    • @stranger271271
      @stranger271271 4 роки тому

      Там 80 левел максимальный

  • @РафаэльБ-ш4в
    @РафаэльБ-ш4в 3 роки тому

    Мои глаза...

  • @ЭдКалумнуз
    @ЭдКалумнуз 3 роки тому

    На C++ более сложные тесты чем на JS

  • @linuxgaminginfullhd60fps10
    @linuxgaminginfullhd60fps10 4 роки тому +1

    Я бы не назвал эту задачу сложной... В моем понимании:
    Сложные: 1, 2.
    Средние: 3, 4
    Легкие: 5, 6
    Тривиальные: 7, 8.

    • @Dimaaasik
      @Dimaaasik 2 роки тому

      ну я бы задачи 5 уровня тоже причислил к средним т.к. тут много интересных задач)

    • @АндрейИванов-н8в7щ
      @АндрейИванов-н8в7щ 2 роки тому +1

      @@Dimaaasik Привет. Скинь ссылку о которой ты выше писал челу который перегорел

  • @theeverlastinglight5701
    @theeverlastinglight5701 2 роки тому

    Прикольно конечно, но за такие размышления на теории чисел нас ругали. У вас абсолютно нет никакого доказательства, что где-то в какой-то момент цикличность может сломаться. Это не очевидные вещи... вы можете получать 1000 раз цикличность ,но на 1001 она может сломаться.

    • @nightyonetwothree
      @nightyonetwothree 2 роки тому

      чел, последняя цифра числа возводится в степень (умножается на себя), после чего мы работаем с последней цифрой полученного числа и тд.тп. При этом если в результате Х повторений последняя цифра совпадает со стартовой - всё, цикл замкнулся, ты вернулся в абсолютное(!) начало. Какое сломаться на 1001? Логика же

  • @chakchaky8521
    @chakchaky8521 4 роки тому

    Решение дичь костыльная. Смотрите как возводится в степень в двоичной системе - все станет куда проще. А то цикличность, частный случай и прочую ересь придумываете. А ведь это ещё просто целые числа....

    • @S0ERDEVS
      @S0ERDEVS  4 роки тому +1

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

    • @whitegirl6620
      @whitegirl6620 4 роки тому +1

      @@S0ERDEVS согласен, а то говорит но решения сам не показывает!

    • @denisoleksiuk5337
      @denisoleksiuk5337 4 роки тому +1

      @@S0ERDEVS мне тоже интересно посмотреть его решение о котором он почти сказал, да не договорил)

  • @legendofpain1x915
    @legendofpain1x915 3 роки тому +2

    def number(n):
    return n ** 2 % 10