Size: a a a

2021 February 27

t

ttldtor in codingteam
как-то так
источник

t

ttldtor in codingteam
в общем, число не должно быть степенью двойки // известно, что оно >= 2
источник

t

ttldtor in codingteam
к слову, в популярных решениях на C++ это вот:
log2(double(num))-int(log2(num))!=0;
источник

c

codingteam@cjr in codingteam
Minoru
@ttldtor: капец ты умный
источник

t

ttldtor in codingteam
о, есть ещё:
__builtin_popcount(num) != 1;
источник

t

ttldtor in codingteam
codingteam@cjr
Minoru
@ttldtor: капец ты умный
теперь я знаю как эффективно проверять число на то, что оно является степенью двойки. Раньше не умел.
источник

c

codingteam@cjr in codingteam
Minoru
я утром почитал условие, попробовал найти наименьшее k такое, что сумма от 1 до k превышает n, а потом m такое, что n-(сумма от 1 до k)==0. Это не работает даже для первого теста, 69
источник

t

ttldtor in codingteam
Собственно, ради это и решаю эти задачка
источник

t

ttldtor in codingteam
задачки*
источник

c

codingteam@cjr in codingteam
Minoru
почесал репу, ещё раз глянул на кью — и попробовал «в лоб»: цикл, внутри ещё два — первый увеличивает сумму, пока не превысим n, второй уменьшает сумму, пока не окажется меньше n. return, если в какой-то момент сумма оказалась равна n. Не пролез в 12 секунд, но попытка того стоила :) На седьмом кью часто пролезает O(n^2) и вообще любая дичь
источник

c

codingteam@cjr in codingteam
Minoru
весьма вероятно, что я просто забыл добавить условие остановки после превышения u32::MAX :) Уже не помню
источник

t

ttldtor in codingteam
codingteam@cjr
Minoru
весьма вероятно, что я просто забыл добавить условие остановки после превышения u32::MAX :) Уже не помню
Возможно
источник

c

codingteam@cjr in codingteam
Minoru
короче, отложил, вечером стал снова думать. Почитал дискуссии, там кто-то написал, что не умеет думать, но умеет читать тесты. Я как-то не придал значения, но потом тоже посмотрел тесты — и таки родил гипотезу
источник

c

codingteam@cjr in codingteam
Minoru
и вуаля! `!n.is_power_of_two()` прошло тесты
источник

c

codingteam@cjr in codingteam
Minoru
ну, правда, я как всегда написал всё неправильно — на самом деле у меня `n.ones_count() != 1`
источник

t

ttldtor in codingteam
codingteam@cjr
Minoru
ну, правда, я как всегда написал всё неправильно — на самом деле у меня `n.ones_count() != 1`
да, я уже говорил, что облизываюсь на встроенные эти функции в расте. Возможно, для плюсов есть какие-то либки, чтобы напрямую интринсики не дёргать
источник

t

ttldtor in codingteam
ну и под капотом такие функции должны быть реализованы под конкретную платформу
источник

t

ttldtor in codingteam
https://www.opennet.ru/opennews/art.shtml?num=54644

"Напомним, что в IPFS ссылка для доступа к файлу непосредственно связана с его содержимым и включает криптографический хэш содержимого."

Мне это что-то напомнило
источник

t

ttldtor in codingteam
источник

t

ttldtor in codingteam
@akhil_ru пинг!
источник