Решение задачи "Делимость на 11" с acmp

Условие задачи
stepik.org/lesson/296961/step/4
Цикл for. Обход списков и строк
• 25 Цикл for. Обход сп...

Пікірлер: 10

  • @vakrokodil
    @vakrokodil Жыл бұрын

    Спасибо, Артём!🥰

  • @user-wb1xk6nr1q
    @user-wb1xk6nr1q2 жыл бұрын

    Думаю, было бы неплохо написать в условии задачи, что сумма разности делится на 11 ИЛИ ровна 0, так как многие не сильны в математике и не знают, что 0 можно делить на любое натуральное число. Именно это заставило меня переписать код пару раз. ( Пример: число 1078 )

  • @alchymista9219
    @alchymista92193 жыл бұрын

    Артем, как всегда огромное спасибо за заботу и оперативность! Как я и предполагал, при разборе задачка оказалась совсем не сложной (я имею ввиду, учитывая пройденный мной материал, т.е. это обход строки по индексам). Именно так интуитивно я и представлял себе ее решение, но почему-то не смог реализовать... Пытаюсь для себя понять насколько это мое и стоит ли дальше продолжать заниматься программированием. Я технарь, с математикой все в порядке (приходится, конечно, вспоминать многое, но инженерными расчетами занят постоянно), само по себе программирование очень интересно (на степике решал самостоятельно, как мне казалось, более сложные задачи, не такими изящными методами, возможно, но старался использовать только тот материал, который прошел, не забегая далеко вперед, поскольку для меня важно было именно разобраться, как работает данный алгоритм). Но почему-то частенько "туплю" и не вижу очевидных решений и не всегда сразу понимаю, как работает алгоритм. Возможно дело в практике и нужно просто много писать и разбираться, а опыт придет со временем? Вот только времени не очень много))

  • @egoroffchannel

    @egoroffchannel

    3 жыл бұрын

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

  • @srjsibg6osdaab946
    @srjsibg6osdaab946 Жыл бұрын

    Число делится на 11, если сумма цифр, которые стоят на четных местах, равна сумме цифр, стоящих на нечетных местах, либо отличается от неё на число, которое делится на 11 n = list(input()) a = [] b = [] for i in range(0, len(n), 2): a.append(int(n[i])) for i in range(1, len(n), 2): b.append(int(n[i])) if sum(a) == sum(b) or abs(sum(a) - sum(b)) % 11 == 0: print('YES') else: print('NO')

  • @Best_Alexandr
    @Best_Alexandr3 жыл бұрын

    В условии задания сказано сумма чётных и не четных цифр(т.е 1211--1нечет,2чет,1нечет,1чет),в решение наоборот все, (1211--1чет,2нечет,1чет,1нечет),в начале разбора задачи (2чет+1чет)-(1нечет+1нечет),в программе наоборот и программа работает верно,не совсем понял,а в остальном все ясно!

  • @Best_Alexandr

    @Best_Alexandr

    2 жыл бұрын

    @@everyone-nobody777 спасибо!!!

  • @alchymista9219
    @alchymista92193 жыл бұрын

    Артем, еще один вопрос: из видео на степике я никак не могу уловить (понять) момент, когда цикл for по переменной i обращается к индексам, а когда к значениям?

  • @egoroffchannel

    @egoroffchannel

    3 жыл бұрын

    для индексов как правило в for обходится range и внутри цикла идет обращение по индексу - квадратные скобки. Если видишь подобное a[i], значит это индексы

  • @musecollaboration
    @musecollaboration8 ай бұрын

    Не ищу легких путей)) n = input() s = [] shet = [] not_shet = [] for i in range(len(n)): s.append(int(n[i])) for j in range(len(s)): if j % 2 == 0: shet.append(s[j]) else: not_shet.append(s[j]) x = sum(shet) - sum(not_shet) if x % 11 == 0: print('YES') else: print('NO')

Келесі