تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 2 از 2

نام تاپيک: الگوریتم ضرب دو عدد صحیح بزرگ

  1. #1
    در آغاز فعالیت
    تاريخ عضويت
    Aug 2009
    پست ها
    1

    پيش فرض الگوریتم ضرب دو عدد صحیح بزرگ

    سلام دوستان

    من واقعا دارم کلافه میشم ازتون خواهش میکنم کمکم کنید

    الگوریتم ضرب دو عدد صحیح بزرگ رو همراه با مرتبه اجرائیش رو لازم دارم

    لطفا کمکم کنید

  2. #2
    پروفشنال afceaglee2013's Avatar
    تاريخ عضويت
    Jun 2009
    پست ها
    708

    پيش فرض

    خیلی ساده س .. به همون روشی که خودمون 2 عدد رو ضرب میکنیم .. تنها تفاوتش اینه که زیر خط کسری 3 سطر (در ضرب 2عدد 3 رقمی) نداریم
    ضرب 2 عدد 123 و 987 رو در نظر بگیرید
    همونطور که در شکل میبینید فرض میکنیم عدد 123 در آرایه ی A و عدد 987 در آرایه ی B قرار دارد و آرایه ی C هم حاصل ضرب رو در خودش ذخیره میکنه .. برای کم شدن محاسبات و راحت ترشدن فهم مسئله 2 عدد a و b رو در آرایه ی خودش برعکس میکنیم (برای برعکس کردن میتونید بعد از خوندن رشته از ورودی اون رو بر عکس کنید) باز هم برای راحت تر کردن برنامه اگر عدد ها رو به صورت رشته خونده باشید بهتره از کد اسکی هر کاراکتر 48 واحد که کد اسکی صفر است رو کم کنید تا آرایه خود عدد رو داشته باشه نه کاراکتر مربوط به عدد رو .. چون در محاسبات و ضرب و جمع ما محتوای عددی رو لازم داریم نه کد اسکی کراراکتر رو

    2 حلقه ی تو در تو به طول های هر عدد انتخاب کنبد فرض میکنیم شمارنده حلقه مربوط به عدد 123 متغییر i و شمارنده مربوط به عدد 987 متغییر j بوده و حلقه ی i داخل حلقه ی j است .. (شمارنده های حلقه ها از 0 شروع میشن)
    داخل حلقه ی i دستور سمت چپ رو بتویسید
    c[i+j]=a[i]*b[j] in neveshteye finglish arzeshe gazayi nadarad
    بعد از اینکه از حلقه ی i خارج شد (قسمت پایین حلقه ی j) آرایه ی C شامل این اعداد است 21 , 14 ,7 ,0 ,0 ,0 (سمت راست در شکل)
    که باید یکان هر عضو از آرایه در محل خود مانده و دهگان به مقدار عضو بعدی اضافه شود که نهایتا در این مثال خواهیم داشت 1 ،6 ،8 (این قسمت برای سادگی مسئله از قسمت اصلی کد جدا شده که میتوان در بدنه ی اصلی و داخل حلقه i نوشت)

    حال یک واحد به مقدار j اضافه شده و دوباره همین عملیات انجام میشود (قسمت وسطی و سمت چپ شکل) .. توجه کنید که شمارنده آرایه ی C
    i+j است که مقدار متغییر J باعث می شود فرضا در این مثال وقتی عدد 8 به اعضای آرایه ی A ضرب میشود حاصل ضرب 8 و 3 در عضو شماره 1 و ... قرار داده شود همچنین در ضرب عدد 9 به اعضای آزایه ی A حاصل ضرب 9 و 3 در عضو شماره 2 از آرایه ی C قرار بگیرد









Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •