نمایش نتایج 1 تا 12 از 12

نام تاپیک: درخواست برنامه 2 به توان هر عددي

  1. #1

    درخواست برنامه 2 به توان هر عددي

    سلام
    كسي از دوستان برنامه 2 به توان هر عددي داره؟؟؟

  2. #2
    کاربر دائمی آواتار shask00l
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    روی پاهای خودم
    سن
    38
    پست
    387

    نقل قول: درخواست برنامه 2 به توان هر عددي

    خوب دوست عزیز .... عدد 2 رو توی یک متغییر قرار بده بعد بزارش توی 1 حلقه که به تعداد توان تکرار بشه و توی حلقه متغییری که عدد 2 توش قرار گرفته رو در 2 ضرب کن و توی خودش قرار بده . از این ساده تر نمیشه .!

  3. #3
    کاربر دائمی آواتار fazel-d
    تاریخ عضویت
    آذر 1386
    محل زندگی
    بورکینافاسو
    پست
    399

    نقل قول: درخواست برنامه 2 به توان هر عددي

    این تابع از کلاس Math
    Math.Pow(2, N);
    جای N می توانی هر عددی را قرار بدی

  4. #4
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    تهران
    سن
    35
    پست
    158

    نقل قول: درخواست برنامه 2 به توان هر عددي

    با سلام

    احتمالاً منظور دوستمون محاسبه توان 2 برای اعداد بسیار بزرگ هست. مثلا 2 بتوان 10000 که از محدود double خارج هست و با تابع (Math.Pow(2, N انجام پذیر نیست.
    درست میگم؟

  5. #5
    کاربر تازه وارد آواتار sara_B
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    شيراز
    سن
    39
    پست
    51

    Question نقل قول: درخواست برنامه 2 به توان هر عددي

    نقل قول نوشته شده توسط hamed aj مشاهده تاپیک
    با سلام

    احتمالاً منظور دوستمون محاسبه توان 2 برای اعداد بسیار بزرگ هست. مثلا 2 بتوان 10000 که از محدود double خارج هست و با تابع (Math.Pow(2, N انجام پذیر نیست.
    درست میگم؟
    منم همين نظرو دارم
    چون ايشون گفتن هر عددي .
    حالا پيشنهاد دوستان چيه؟

  6. #6
    کاربر دائمی آواتار saeed-kh
    تاریخ عضویت
    مهر 1387
    محل زندگی
    مازندران - بابل
    پست
    148

    نقل قول: درخواست برنامه 2 به توان هر عددي

    پس باید از string و رشته هااستفاده کنن

  7. #7
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    تهران
    سن
    35
    پست
    158

    نقل قول: درخواست برنامه 2 به توان هر عددي

    نقل قول نوشته شده توسط saeed-kh مشاهده تاپیک
    پس باید از string و رشته هااستفاده کنن
    قطعاً بهترین گزینه استفاده از رشته ها است. البته با آرایه هم قابل پیاده سازی می باشد. ولی طبق تجربه ای که من دارم، از لحاظ سرعت رشته ها بهتر جواب می دهند.

  8. #8
    کاربر تازه وارد آواتار sara_B
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    شيراز
    سن
    39
    پست
    51

    Wink نقل قول: درخواست برنامه 2 به توان هر عددي

    اينكه بايد از رشته ها استفاده كنيم كه قطعيه .
    اما لطفا با يه مثال و كد

  9. #9

    نقل قول: درخواست برنامه 2 به توان هر عددي

    یه روش جالب مطرح می کنم که البته غیر از روش کار با رشته هاس که قبلا (در تاپیک های پیشین) مطرح شده و اون برای ضرب کلا هر دو عددی که از توانایی سخت افزار ما بزرگتر هستن، هستش.

    البته اینجا فقط الگوریتمش رو می نویسم و به صورت کلی؛ تبدیل به کد و جزئیاتش با خودتون:

    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 هست برای ضرب اعداد بزرگ و به تبع به توان رسوندشون. اگر مبهم هستش، بگین تا توضیحاتی رو راجع بهش بدم.

  10. #10
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    تهران
    سن
    35
    پست
    158

    نقل قول: درخواست برنامه 2 به توان هر عددي

    سلام به دوستان

    برنامه محاسبه توان با پایه 2 برای اعداد بزرگ

    این برنامه مبتنی بر string می باشد
    فایل های ضمیمه فایل های ضمیمه

  11. #11

    نقل قول: درخواست برنامه 2 به توان هر عددي

    سلام
    hamed aj
    من برنامه را براي اعداد بزرگ(1000000و....)مي خوام
    اين برنامه تا 100 جواب داد.

  12. #12
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    تهران
    سن
    35
    پست
    158

    نقل قول: درخواست برنامه 2 به توان هر عددي

    سلام به شما

    دوست عزیر برنامه هیچ محدودیتی در تعداد ارقام ورودی ندارد. فقط با افزایش توان ورودی، زمان محاسبات افزایش پیدا می کند.

    من یک تست برای دو به توان ده هزار انجام دادم که حدود 26 ثانیه در سیستم من زمان برد و همانطور که در شکل می بینید، حاصل یک عدد سه هزار و یازده (3011) رقمی شد.





    برای مقادیر بزرگتر به مراتب به زمان بیشتری نیاز هست.

    موفق باشید

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •