📄 test.c
字号:
#include <ltmpp.H>const unsigned char data[] = { 0xFF, 0xFF };int main(void){ mpint a, b, c, d("23"), e(data, 2); unsigned char *buf; int n, x; a.readDec("1024"); b.readDec("512"); c = a + b; cout << a.toStr(10) << endl; cout << b.toStr(10) << endl; cout << c.toStr(10) << endl; cout << d.toStr(10) << endl; cout << e.toStr(10) << endl; cout << endl << endl; c += -1; cout << c.toStr(10) << endl; --c; cout << c.toStr(10) << endl; cout << endl << endl; n = c.toBinSize(); cout << "C size in bytes is " << n << endl; buf = c.toBin(); for (x = 0; x < n; x++) printf("%02x ", buf[x]); printf("\n"); cout << endl << endl; a.readDec("10"); b.readDec("0"); while (a != b) { cout << a.toStr(10) << endl; --a; }// mm/ error d = mpint(0); try { a /= d; } catch (ltmpp_error err) { cout << "Error == " << err.getTypeStr() << endl << "(an error was expected)" << endl; } // a = 2^64 quickly a = mpint(1) << 64; cout << a.toStr(10) << endl; while (a > 0) { cout << "a == " << a.toDec() << endl; a = (a + 1) / 3; }++a;a++; // factor with pollard-rho c = (mpint(1) << 64) - 1; a = 1; b = 1; while (c > 1) { a = (a * a + 1) % c; b = (b * b + 1) % c; b = (b * b + 1) % c; d = (a - b) % c; d = c.gcd(d); if (d != 1 && d != c) { c /= d; cout << "Factor: " << d.toDec() << " prime: " << d.isPrime() << " (left: " << c.toDec() << ")" << endl; a = 1; b = 1; if (c.isPrime()) { cout << "Factor: " << c.toDec() << " and we're done." << endl; c = 1; } } } return 0;}/* $Source: /cvs/libtom/ltmpp/test.C,v $ *//* $Revision: 1.10 $ *//* $Date: 2006/08/03 15:10:07 $ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -