#include <stdio.h>
#include "BigUnsigned.h"
const unsigned int corrector = 4;
const unsigned int divider = 6;
// рабочий тип - 1000-битное целое
typedef BigNumbers::BigUnsigned<1000> TWorkType;
// value должно быть меньше 1000
const int MaxArgument = 1000;
TWorkType Task006Calculator(int value) {
TWorkType result = 0;
if( value > 4 ) {
unsigned i;
TWorkType intermediate;
TWorkType correction(corrector);
for( i=(value-5)/2; i > 0 ; i-- ) {
correction.MulPrimitive(3); // можно и correction *= 3; но это медленнее
++correction;
}
if( (value&1) == 0 ) correction <<= 1;
result = intermediate.PowerOfTwo(value)/divider-correction;
}
return result;
}
//---------------------------------------------------------------------------
int main(int argc, char* argv[]) {
int i;
TWorkType value;
char buff[(MaxArgument*4)/10];
for( i=0 ; i < MaxArgument ; i++ ) {
value = Task006Calculator(i);
printf("for %d result is: %s\n",i,BigNumbers::itoa(value,buff,10));
}
}
//---------------------------------------------------------------------------
[C++]Длиная арифметика
Даны числа 0<n<m<2^100000
Вывести умножение и n*m и остаток m%n
если есть у кого нибудь решени коди плиз !!!
http://www-teaching.physics.ox.ac.uk/computing/src/freelip-1.1.1.tar.gz)
Очень много функций реализовано, просто в обращении, только одна проблема - ни VC++6, ни BCB6 не откомпилировали :( ее, может кто имел опыт работы с ней, а то мне очень нужно для реализации RSA... вообще она предназначена для UNIX, но может кто-то видел работающие переделки для win32, я знаю, точно они существуют :)
Существует удобная библиотека для работы с большими числами - Freelip (
Очень много функций реализовано, просто в обращении, только одна проблема - ни VC++6, ни BCB6 не откомпилировали :( ее, может кто имел опыт работы с ней, а то мне очень нужно для реализации RSA... вообще она предназначена для UNIX, но может кто-то видел работающие переделки для win32, я знаю, точно они существуют :)
Выкладываю исходники класса BigUnsigned для работы с длинными целыми
Это код с Algolist-a
Цитата: H!RURG
Это код с Algolist-a
а не проще было просто ссылку дать, чем код переписывать.
Цитата: OlgaKr
а не проще было просто ссылку дать, чем код переписывать.