AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.04.2024, 22:03   #1  
axm2017 is offline
axm2017
Участник
 
1,890 / 295 (13) ++++++
Регистрация: 15.05.2017
Забавные задачки
Часто возникает во всяких обучалках программированию и Ко задача вычисления цифрового корня.
Красивое решение на мой взгляд.
https://codeforces.com/blog/entry/18286

Кто любит в загадки может перед этим поискать решение сам
Цифровой корень натурального числа — это цифра, полученная в результате итеративного процесса суммирования цифр, на каждой итерации которого для подсчета суммы цифр берут результат, полученный на предыдущей итерации. Этот процесс повторяется до тех пор, пока не будет получена одна цифра.
Например цифровой корень 65,536 это 7, потому что 6 + 5 + 5 + 3 + 6 = 25 и 2 + 5 = 7.

Последний раз редактировалось axm2017; 06.04.2024 в 22:33.
Старый 08.04.2024, 18:36   #2  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
298 / 866 (29) +++++++
Регистрация: 23.10.2012
У Яндекса ранее была задачка: найти массиве, состоящем из нечетного количества элементов, уникальное число за время О(n). В рамках условия гарантируется, что только искомое число не имеет парного повторения. Т.е. [1,1,-1,-1,5]. Искомым числом здесь будет 5.
Старый 10.04.2024, 15:27   #3  
axm2017 is offline
axm2017
Участник
 
1,890 / 295 (13) ++++++
Регистрация: 15.05.2017
зы решая для ребенка что то из информатики обнаружил неочевидное для себя что Python из коробки может возводить числа в мега степени без проблем. Размерность числа не имеет явного ограничения.
"В Питоне для работы со сколь угодно большими числами надо испольозвать тип «bignum». В Python 2.5+ этот тип называется long и отличается от типа int, но интерпретатор автоматически будет использовать тот, который более подходит."

Последний раз редактировалось axm2017; 10.04.2024 в 15:29.
Старый 11.04.2024, 01:23   #4  
axm2017 is offline
axm2017
Участник
 
1,890 / 295 (13) ++++++
Регистрация: 15.05.2017
Цитата:
Сообщение от Товарищ ♂uatr Посмотреть сообщение
У Яндекса ранее была задачка: найти массиве, состоящем из нечетного количества элементов, уникальное число за время О(n). В рамках условия гарантируется, что только искомое число не имеет парного повторения. Т.е. [1,1,-1,-1,5]. Искомым числом здесь будет 5.
последовательности записаны целые числа. Одно из чисел встречается ровно один раз, остальные — по два раза. Найти число, которое встречается один раз.
Видимо это?
Здесь тоже всё просто: найдем XOR всех чисел — он и будет ответом. В самом деле, если какой-то бит в искомом числе равен нулю, то во всей последовательности он будет равен 1 в чётном числе элементов, и его значение в XOR равно нулю. В противном случае, аналогично, его значение в XOR равно 1. Или, проще говоря, одинаковые элементы при суммировании взаимоуничтожатся.
Старый 11.04.2024, 01:24   #5  
axm2017 is offline
axm2017
Участник
 
1,890 / 295 (13) ++++++
Регистрация: 15.05.2017
Цитата:
Сообщение от Товарищ ♂uatr Посмотреть сообщение
У Яндекса ранее была задачка: найти массиве, состоящем из нечетного количества элементов, уникальное число за время О(n). В рамках условия гарантируется, что только искомое число не имеет парного повторения. Т.е. [1,1,-1,-1,5]. Искомым числом здесь будет 5.
Видимо это?
Здесь тоже всё просто: найдем XOR всех чисел — он и будет ответом. В самом деле, если какой-то бит в искомом числе равен нулю, то во всей последовательности он будет равен 1 в чётном числе элементов, и его значение в XOR равно нулю. В противном случае, аналогично, его значение в XOR равно 1. Или, проще говоря, одинаковые элементы при суммировании взаимоуничтожатся.
За это сообщение автора поблагодарили: Товарищ ♂uatr (0).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Забавные и несуразные сообщения в Аксапте KiselevSA Курилка 1 16.05.2016 10:51

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 03:30.