رفتن به مطلب
  • 0

ضرب اعداد بزرگ بالای 50 رقم


Mahdi-HrH

سوال

سلام من میخوام اعداد بزرگ مثلا 100رقمی رو باهم ضرب کنم

برای فردا کلاس الگوریتم نیازش دارم

سورس ++c رو پیدا کردم ولی معادلش به B4a هرکاری کردم نشد که بنویسم بعضی کدا گنگند

اگه لطف کنین واسم معادلشو بسازین ممنون میشم

#include<iostream>
#include<conio.h>
using std::cout;
using std::cin;
using std::endl;

int main()
{
	int A[50],B[50],T[100],C[100],i,j,k,num;
	char s1[51],s2[51],s3[101]=""; 
	cout << "Enter a long integer Number A :";
	cin >> s1;
	s1[50]='\0';
	cout << "Enter a long integer Number B :";
	cin >> s2;
	s2[50]='\0';
	for (i=0;i<50;i++)
	{
		A[i]=0;
		B[i]=0;
	}
	for (i=0;i<100;i++)
	{
		T[i]=0;
		C[i]=0;
	}
	for (i=0;i<strlen(s1);i++)
		A[i]=s1[strlen(s1)-i-1]-'0';
	for (i=0;i<strlen(s2);i++)
		B[i]=s2[strlen(s2)-i-1]-'0';
	k=0;
	for(j=0;j<strlen(s2);j++)
	{
		for(i=0;i<100;i++)
			T[i]=0;
		for(i=0;i<strlen(s1);i++)
			T[i+k]=A[i]*B[j];
		for(i=0;i<99;i++)
		{
			if(T[i]>9)
			{
				T[i+1]=T[i+1]+T[i]/10;
				T[i]=T[i]%10;
			}
		}
		k++;
		for(i=0;i<100;i++)
			C[i]+=T[i];
		for(i=0;i<99;i++)
		{
			if(C[i]>9)
			{
				C[i+1]=C[i+1]+C[i]/10;
				C[i]=C[i]%10;
			}
		}
	}
	for (i = 0 ; i <100; i++)    
		s3[i]=C[i]+'0'; 
	for (i = 99 ; i >= 0; i--)   
		{     
		if(C[i]!=0)      
			{       
			num=i;        
			break;        
			}      
		}   
	
	cout << "\nResult :";
	for (i=num;i>=0;i--)
		cout << s3[i];
	getch();
	return 0;
}

برای فردا لازمش دارم حتما :'(

لینک ارسال
به اشتراک گذاری در سایت های دیگر

8 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

:'( :'(

 

77بازدید حداقل یکی جواب میداد :'(

 

اینم الگوریتم تقسیم و غلبه

 

md2e_234234234.png

لطفا یکی اینو درست کنه خیلی ممنون میشم :'(

بخدا لازمش دارم :'(

لینک ارسال
به اشتراک گذاری در سایت های دیگر

:'( 140 بازدید ولی هیچ کمکی :'(

دوست من الان دو بار اسپم دادید! :@ 

این کار اخطار داره که من گزارش میکنم مدیران بررسی کنند!!!! :write: 

مطمئن باشید کسی بلد باشه جواب میده. :eynak:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوست من الان دو بار اسپم دادید! :@ 

این کار اخطار داره که من گزارش میکنم مدیران بررسی کنند!!!! :write: 

مطمئن باشید کسی بلد باشه جواب میده. :eynak:

فکر نمی کنم ارسال پست تو بازه زمانی زیاد اسپم حساب بشه

اگه به تاریخ و زمان سه پست دقت کنین میبنین فاصله زمانی زیادی بوده

لینک ارسال
به اشتراک گذاری در سایت های دیگر

با سلام.

 

شما دو روش دارین واسه اینکار :

 

  1. هر عدد رو در یک آرایه ذخیره کرده و 4 عمل اصلی رو برای آرایه ها که معادل یک عدد بزرگ میشن پیاده

سازی کنید .

 

2. از کتابخونه های آماده استفاده کنید.

 

نکته ) یک برنامه نویس خوب کسیه که الگوریتم رو خوب بلده و به هر زبانی میتونه تبدیلش کنه وقتی آشنایی با اون زبان رو داره.

 

در ضمن شما واسه درس الگوریتم میخوای اپ اندروید بنویسی ؟؟!!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

فکر نمی کنم ارسال پست تو بازه زمانی زیاد اسپم حساب بشه

اگه به تاریخ و زمان سه پست دقت کنین میبنین فاصله زمانی زیادی بوده

 

 

2.9 بالا آوردن تاپيک ها و پست ها قبل از 24 ساعت ممنوع است و موجب حذف آنها خواهد شد.

:ok:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

:ok:

 

ولی در کل معنی اسپم این نیست

 

و از همه مهمتر بجای اینکارا و جو سازی و ایجاد بجث خارج از موضوع یا پستی ندید یا مشکل کاربرا رو حل کنین :ok:  موفق باشید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

با سلام.

 

شما دو روش دارین واسه اینکار :

 

  1. هر عدد رو در یک آرایه ذخیره کرده و 4 عمل اصلی رو برای آرایه ها که معادل یک عدد بزرگ میشن پیاده

سازی کنید .

 

2. از کتابخونه های آماده استفاده کنید.

 

نکته ) یک برنامه نویس خوب کسیه که الگوریتم رو خوب بلده و به هر زبانی میتونه تبدیلش کنه وقتی آشنایی با اون زبان رو داره.

 

در ضمن شما واسه درس الگوریتم میخوای اپ اندروید بنویسی ؟؟!!

خب همین پیاده سازیش پیچیدس

کتاب خونه داره ؟؟ میشه معرفی کنین ؟

اره برای درس الگوریتم میخوامش

میشه این عمل ضربو توضیحشو بازتر کنین؟ ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...