Как я понял, Jes предложил что-то типа некоторого развлечения по поводу оптимизации кода. Предлагаю простую задачку: Code: var p, i, n: integer; ... p := 1; n := 1000000000; for i := 1 to n do p := (p * 11856) mod 1743; write(p); Цель - сделать это же за O(log(n))
за O(f(n)) - Это значит совершить порядка f(n) операций. То есть, тот код, что я привёл работает за O(n). К примеру, матрица n*n полностью заполняется за O(n^2) PS Даже если количество операций типа n*n*n*0.0001 + 0.0007*n*n + 1000*n - 50000*lg(n), то это всё равно O(n^3)
2desTiny бля, код оптимизировать - это надо тупо знать какие операторы/инструкции чем лучше заменять, вообще говоря оптимизировать код можно програмно. на это способен и gcc и vc и intel'овский компилятор. на программиста должна ложиться по большей части задача оптимизации алгоритма и на самом деле все.. тк все остальное даст лишь сомнительный прирост производительности. личный опыт. зы пример что ты дал слава богу хоть как-то на это похож. для новичков - http://algolist.manual.ru/maths/count_fast/fast_exp.php : Code: long powmod(long a, long k, long n) { long b=1; while (k) { if (k%2==0) { k /= 2; a = (a*a)%n; } else { k--; b = (b*a)%n; } } return b; } int main() { return powmod(11856, n, 1743); }
nerezus GetBuffer(0) возвращает TCHAR а мне нужна ЧАР а если я в функции вместо CString поставлю TCHAR вот с этим как?
вот кусок года здес у меня ест 2 edit box в одном логин в другом пасс. я логин и пасс шифрую и записываю в файл но мой шифровальный алгоритм работает с char`ми и я с TCHAR в char конвертирую с помощью функции указанный чуть выше и я шифрую функций fmt_base64() ниже функция шифрования у меня все работает нормальна функция шифрование