سلام
كسي از دوستان برنامه 2 به توان هر عددي داره؟؟؟
سلام
كسي از دوستان برنامه 2 به توان هر عددي داره؟؟؟
خوب دوست عزیز .... عدد 2 رو توی یک متغییر قرار بده بعد بزارش توی 1 حلقه که به تعداد توان تکرار بشه و توی حلقه متغییری که عدد 2 توش قرار گرفته رو در 2 ضرب کن و توی خودش قرار بده . از این ساده تر نمیشه .!
این تابع از کلاس Math
Math.Pow(2, N);جای N می توانی هر عددی را قرار بدی
با سلام
احتمالاً منظور دوستمون محاسبه توان 2 برای اعداد بسیار بزرگ هست. مثلا 2 بتوان 10000 که از محدود double خارج هست و با تابع (Math.Pow(2, N انجام پذیر نیست.
درست میگم؟
پس باید از string و رشته هااستفاده کنن
اينكه بايد از رشته ها استفاده كنيم كه قطعيه .
اما لطفا با يه مثال و كد
یه روش جالب مطرح می کنم که البته غیر از روش کار با رشته هاس که قبلا (در تاپیک های پیشین) مطرح شده و اون برای ضرب کلا هر دو عددی که از توانایی سخت افزار ما بزرگتر هستن، هستش.
البته اینجا فقط الگوریتمش رو می نویسم و به صورت کلی؛ تبدیل به کد و جزئیاتش با خودتون:
Algorithm HugeMult(U, V)
{
n = MaximumCharacter(U, V)
if (n < L)
{
return (U * V)
}
else
{
s = n / 2
A = U / s
B = U % s
C = V / s
D = V% s
SUM = HugeMult(A, C) * (10 ^ 2s) +
(( HugeMult(A, D) + HugeMult(B, C)) * 10 ^ s) + HugeMult(B, D)
}
return SUM
}
روش کارش خیلی سادس و عموم کتاب های طراحی الگوریتم دارنش. یه روش Divide & Conqure هست برای ضرب اعداد بزرگ و به تبع به توان رسوندشون. اگر مبهم هستش، بگین تا توضیحاتی رو راجع بهش بدم.
سلام به دوستان
برنامه محاسبه توان با پایه 2 برای اعداد بزرگ
این برنامه مبتنی بر string می باشد
سلام
hamed aj
من برنامه را براي اعداد بزرگ(1000000و....)مي خوام
اين برنامه تا 100 جواب داد.
سلام به شما
دوست عزیر برنامه هیچ محدودیتی در تعداد ارقام ورودی ندارد. فقط با افزایش توان ورودی، زمان محاسبات افزایش پیدا می کند.
من یک تست برای دو به توان ده هزار انجام دادم که حدود 26 ثانیه در سیستم من زمان برد و همانطور که در شکل می بینید، حاصل یک عدد سه هزار و یازده (3011) رقمی شد.
برای مقادیر بزرگتر به مراتب به زمان بیشتری نیاز هست.
موفق باشید