Igor
Я собственно тоже самое сказал))
ты складывал цифры числа 31 а нам нужно другое число искать
Алексей
Тогда все десятки? То есть 1, 10, 100...
Igor
Тогда все десятки? То есть 1, 10, 100...
такие числа можно найти почти для всех чисел за редким исключением
Гамлет
code: def digit_sum(num): return sum([int(x) for x in str(num)]) def finder(num): for i in range(1, 10000000): if num * digit_sum(i) == i: return i print(finder(31)) terminal: ❯ time pypy main.py 372 pypy main.py 0.02s user 0.02s system 73% cpu 0.050 total
Алексей
Значит я чего-то не понял в задании
Гамлет
а я голову ломаю, пытаюсь формулу понять
Гамлет
а там перебор галимый
Igor
теперь запусти этот код на большом n
koichi
а почему он не должен работать на большом н?
Гамлет
питон завис
koichi
вхахвха
Igor
print(finder(5789348794590898043900934))
Алексей
питон завис
Он не завис у него пересчет
Гамлет
~/Development/code ❯ time python main.py None python main.py 13.82s user 0.00s system 99% cpu 13.824 total ~/Development/code 14s ❯ time pypy main.py None pypy main.py 1.90s user 0.13s system 99% cpu 2.045 total
Гамлет
print(finder(5789348794590898043900934))
даже на меньшем числе
Igor
print(finder(5789348794590898043900934))
521041391513180823951084060 python f.py 0.03s user 0.01s system 89% cpu 0.039 total
Igor
хотим алгоритм который от длины числа почти не зависит
Гамлет
скинь код в лс
Igor
скинь код в лс
это не спортивно :)
koichi
ну делись-делись
Гамлет
так я не спортсмен
koichi
интересненько узнать алгориьм
Алексей
Нужно условие. Так не понятно
Igor
перебор там :) обычный
koichi
мне в голову только вычисления по последним знакам числа приходит
Гамлет
это пусть ребята балуются
Igor
перебирать нужно просто сумму а не ответ
Алексей
это пусть ребята балуются
Побаловаться никогда ни за грех)
Igor
в этом подвох
Igor
все привыкли перебирать или входные или выходные данные :) а тут нужно промежуточные
Гамлет
ааааааааааааааааааааааааааааааааааааааааааа
Igor
def finder(n): for s in range(1, 9000): if s == sum(map(int, str(s*n))): return s * n return 0 print(finder(5789348794590898043900934))
koichi
уух сука умняга
Igor
вот это будет работать для чисел до 1000 знаков
Igor
почти мгновенно
koichi
ну котелок варит сразу видно
Гамлет
казел
Гамлет
подловил
koichi
ну, если я не путаю, то игорек на алгоритмах собаку скушал
Алексей
подловил
Так там мапа
Igor
я кукурузу жру :)
koichi
приятного аппетита :)
Алексей
я кукурузу жру :)
Блин. У нас не достать уже 😢
Igor
я к тому что собак не жру :)
koichi
аа.. и вот как Игоря понять хоть раз
koichi
загадка слога.
Igor
бля я жру кукурузу в прямом смысле и не жру собаку :)
Igor
вбросил потому что самому понравилась задача. Вроде тупой перебор но в зависимости от того что перебирать время работы отличается в разы
Гамлет
либо купил шаву на вокзале и реально собаку сьел
koichi
а я вот как тупой и накуренный ща, можно объяснить суть вкратце?
Алексей
а вдруг ты кореец
))) нет он с запада)
koichi
условно мы перебираем число * на цикл всех чисел чтобы получить тоже число, если такое нашлось - по перебору Гамлета
koichi
а в твоем случае мы проходимся по числам от 1 до 9000, суммируем мэп где с*на на входное число и возращаем потом умножение перебора цикла на входное?
Igor
а я вот как тупой и накуренный ща, можно объяснить суть вкратце?
ну казалось бы мы хотим знать число, и вроде как сумма цифр нам ничего не дает. Но если мы найдем сумму цифр нам не нужно находить сами цифры. Потому что умножив сумму цифр на n мы получим ответ. А сумма цифр это максимум 9 умножить на кол-во знаков т е даже для чисел длинной в 1000 знаков нужно проверить всего 9000 значений
koichi
ааааа
koichi
ну я долбоебик, конечно
Anonymous
ну я долбоебик, конечно
Самотыкинг мммм
koichi
да-да, я понял уже.. с первого раза что-то не дошло пока всматривался..
Igor
где s это ...
сумма цифр ответа :)
Гамлет
а стоп
Гамлет
надо выключать режим дурачка
koichi
Самотыкинг мммм
ну, лучше самотыкаться и развиваться, чем пузыри из носа пускать, закрывшись в маня-мирке "я умный"
Гамлет
кто понял отсылку - респект, у вас хороший вкус
Igor
пойду читать литрпг :) шо то тут сильно умное все :)
koichi
только там чуть по-другому было: "Очень легко иметь друзей, если разрешаешь смеяться над собой"
koichi
но сути не меняет
Гамлет
ага
Гамлет
я на память сказал, так даже лучше, не загуглят позеры
koichi
нечасто я вижу людей последнее время, кто пытается подобным выкаблучиваться :)
Erik
Как я не догадался до этого :(
Erik
Стоп