dollar, так, если в массиве уже 0.1 и 0.5, и число 0.2. то можно или везде по 0.1 прибавлять, или все в первую ячейку класть. Каждое решение где-то равномернее другого. Вам что надо-то. И вообще, лучше скажите, откуда у вас эта задача вылезла. Может вам вообще не надо вот это вот все делать и исходная задача решается проще и эффективнее не через такое деление.
Вам надо, чтобы итоговые числа в массиве были максимально равномерны, или чтобы положенные кусочки были максимально равномерны? И вообще, что значит равномерны? Можно минимизировать разность максимального и минимального. Или дисперсию. Или количество различных значений. Или черт его еще знает, что.
Lost_brain, Можно и ll писать. Но вообще, я бы посоветовал везде использовать unsigned для работы с битами, раз у вас знаковый бит на равне с остальными выставляется.
Lost_brain, проблема никак не связана с аргументом. Проблема в том, что вы не понимаете, что такое статический метод. И вообще, как в C++ работать с классами.
Вы можете исправить ошибку и по-другому: оставьте метод не статическим, но вызывайте его у какого-то объекта FileModifier (заведите переменную и вызывайте метод у нее через точку). А не как сейчас - как будто это функция.
San Manjiro, ну "обмен" же. Что-то с чем-то меняется. Что в сортировке то происходит? Элементы меняются местами! Обменная операция - это операция перестановки двух элементов местами. Это не операция присваивания =. Это то, что делает функция swap. Поэтому вам надо увеличивать счетчик на 1 в этой функции и больше нигде него не трогать.
Galaxy773, у рандомно сгенерированного ключа может не быть приватной пары. Он сам может быть вообще невалиден. Например, в RSA приватный ключ - 2 больших простых числа. Случайная строка почти 100% не будет валидным приватным ключем.
Никита Савченко, вообще кривое условие. Глагола "power by" в английском языке нету. Тут уже только гадать можно, что именно хотел автор. Можно "raise to the power 2", "take 2nd power", но не вот это вот.