Size: a a a

2021 July 05

NK

Nikolay Kononov in supapro.cxx
источник

NK

Nikolay Kononov in supapro.cxx
этот пример непоказательный, конечно, надо убрать cout и посмотреть асм
источник

NK

Nikolay Kononov in supapro.cxx
я бы не расчитывал на оптимизации и писал:

for (size_t i = 2, lim = sqrt(number; i <= lim; i++)        {            
if (number % i == 0)
               return false;        
}
источник

K

Kelbon in supapro.cxx
и получил бы округление корня хД
источник

Е

Егор in supapro.cxx
наблюдаемое
источник

NK

Nikolay Kononov in supapro.cxx
и что?
источник

NK

Nikolay Kononov in supapro.cxx
а так он его не получит что-ли?
источник

NK

Nikolay Kononov in supapro.cxx
он сравнивает int и int
источник

NK

Nikolay Kononov in supapro.cxx
и ты всегда в цикле скорее всего будешь сравнивать два одинаковых типа (либо кастовать один к другому если нет оператора для двух разных типов)
источник

K

Kelbon in supapro.cxx
при сравнении double и size_t будет приведено к double если по логике вещей смотреть, т.к. более широкий тип...
источник

K

Kelbon in supapro.cxx
напиши вот это auto x = 4. + 5ull; и посмотри на тип x
источник

K

Kelbon in supapro.cxx
это логично т.к. сравнение 4.5 и 4 должно давать верный результат, а при округлении(обрезке до целого) они равны
источник

T

The Pressbraker in supapro.cxx
Подскажите такую вещь.  Есть цикл от 0 до 10 миллионов, внутри цикла  итерация за итерацией идет проверка числа на условие, если встретилось первое число, для которого условие верно, цикл  завершается.  Мне надо сделать так, чтоб при каждом новом запуске программы этот цикл шел каждый раз по разному, так как мне не важен порядок, мне не нужно чтоб итерации были строго от 0 до 100 миллионов, можно и даже лучше брать числа на проверку из этого диапазона вперемешку,  допустим проверяется сначала число 10001, потом 15, потом 999999, и . д. из диапазона от 0 до 100 миллионов, если какое то случайно выбранное число попадет под нужное условие,то цикл завершается. Есть ли стандартное решение этой задачи?  Может быть есть что то цикла для диапазона, но с рандомной выборкой значений из указанного диапазона (но чтоб не было повторений)
источник

K

Kelbon in supapro.cxx
а с чего бы случайно выбранное число более подходило, чем по порядку выбранное?)
источник

K

Kelbon in supapro.cxx
если есть какие то предпосылки к этому, то посчитай где оно там примерно и ищи
источник

K

Kelbon in supapro.cxx
а в перемешку искать это очень невыгодная стратегия какая то
источник

T

The Pressbraker in supapro.cxx
дело в том, что в качестве аргумента программе дается хэш код, надо найти какой цифровой код от него,  заранее его кроме как тупо перебором значений из диапазона и калькуляции от каждого значения хэша и сравнения не найти, надо тупо брать числа от 0 до 100 миллионов и у каждого проверять хэш и сравнивать и вот смотри, если дали хэш код от числа, которое стоит в диапазоне в начале, то оно найдется быстрее, если  же искомое число в конце диапазона, то оно тоже найдется, но позже. При запуске программы с разными хэш кодами время работы программы будет (возможно) сильно разным, я же хочу рандомизировать время работы программы, как бы усреднить, ведь если поиск нужного числа будет идти не по порядку, то вероятность попадания (я так думаю) в нужное число будет примерно одинакова , что усреднит время работы программы с разными хэшами-аргументами, ведь даже если зададут найти число 999999999, то есть шанс, что это число будет взято на проверку условия не самым последним, что ускорит (в среднем) время работы программы
источник

K

Kelbon in supapro.cxx
1. заранее посчитать хэши для всех элементов от 0 до 10млн.
упорядочить их и бинарный поиск
источник

K

Kelbon in supapro.cxx
))
источник

T

The Pressbraker in supapro.cxx
Это занимает очень много памяти хранить ассоциативный контейнер от 0 до 100 миллионов  пин кодов с ихними посчитанными заранее хэшами, в том то и дело, что надо делать итерации, но лучше в рандомном порядке.
источник