PDA

View Full Version : سوال: ضرب اعداد خیلی بزرگ



crutex
شنبه 02 آذر 1392, 18:37 عصر
با سلام خدمت دوستان برنامه نویس می خواستم ببینم از دوستان کسی میتونه برنامه ای بزاره که 2 عدد خیلی بزرگ (مثلا صد رقمی) رو در هم ضرب کنه؟ ضمنا باید با استفاده از آرایه این کار انجام بشه خیلی ممنون از کسانی که جواب میدن.

Ananas
دوشنبه 04 آذر 1392, 00:56 صبح
سلام.
http://barnamenevis.org/showthread.php?150444-%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%D9%86%D9%88%D8%B4%D8%AA%D9%87-%D8%B4%D8%AF%D9%87-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-C-%D9%88-C&p=1649855&viewfull=1#post1649855

crutex
سه شنبه 05 آذر 1392, 17:46 عصر
سلام
خیلی ممنون از اینکه جواب دادی ولی من چیزی متوجه نشدم از این لینک :ناراحت:

Ananas
چهارشنبه 06 آذر 1392, 08:09 صبح
سلام.
نمونه ی ضرب دو عدد:

#include "iostream"
using namespace std;

#include "IntX.h"

int _tmain(int argc, _TCHAR* argv[])
{
INTX2048 i_a;
INTX2048 i_b;
INTX2048 i_c;
size_t sizeof_int = sizeof(i_a);
char str_a[620];
char str_b[620];
char str_c[620];
//--------------------------------------------------------------------------
while (true)
{
cin >> str_a;
cin >> str_b;
IntX_FromStrA(&i_a, sizeof_int, str_a);
IntX_FromStrA(&i_b, sizeof_int, str_b);
IntX_Mul(
&i_c,
&i_a,
&i_b, sizeof_int);
IntX_ToStrA(str_c, &i_c, sizeof_int);
cout << str_c << endl << "-----------------" << endl;
};
return 0;
};

crutex
شنبه 09 آذر 1392, 20:09 عصر
اینم که 800 تا Error میده

Ananas
شنبه 09 آذر 1392, 20:21 عصر
با c++builder نوشتم.
ارور هر چی هست بنویس اینجا لطفا.

Ananas
شنبه 09 آذر 1392, 21:00 عصر
با visual studio امتحانش کردم. چند تا تغییر کوچیک برای تبدیل unsigned به signed و تغییر در تعریف استرینگ اعداد 0 تا F
فایل C++‎‎:

#include "iostream"
using namespace std;

#include "IntX.h"

int main()
{
INTX2048 i_a;
INTX2048 i_b;
INTX2048 i_c;
size_t sizeof_int = sizeof(i_a);
char str_a[620];
char str_b[620];
char str_c[620];
//--------------------------------------------------------------------------
while (true)
{
cin >> str_a;
cin >> str_b;
IntX_FromStrA(&i_a, sizeof_int, str_a);
IntX_FromStrA(&i_b, sizeof_int, str_b);
IntX_Mul(
&i_c,
&i_a,
&i_b, sizeof_int);
IntX_ToStrA(str_c, &i_c, sizeof_int);
cout << str_c << endl << "-----------------" << endl;
};
return 0;
};


و فایل IntX.h:
113367