تبلیغات


الگوریتم تقسیم اعداد بزرگ(۵۰digit division)

اشتراک گذاری
Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestPrint this pageEmail this to someone
calculator

calculator

در پست  ماشین حساب به بررسی الگوریتم های جمع و ضرب و تفریق پرداختیم حالا نوبت الگوریتم تقسیم بزرگ برای اعداد صحیح هستیم همه چی پله پله طی می کنیم در پست های آینده به الگوریتم هایی بهتر و کار آمد تر می پردازیم.همان طور که قبلا گفتم درسته خود کامپیوتر می تونه جمع و تقسیم و ضرب و جمع کند ولی محدودیت داریم اگه اعداد بیش از یک مقداری باشند حافظه اون متغییر لب ریز می کند پس با ما باشید.

در ریاضی تقسیم به چه معناست؟با یک مثال معنای آن را بیان می کنیم فرض کنید شما ۷ تا سیب دارید و می خواهید ببینید که چند تا دو تایی سیب دارید ۷ را منهای ۲ می کنید و می بینید ۵ عدد سیب می ماند آیا ۵ از ۲ کمتر ایت و ادامه می دهیم برای دومین بار ۲ را از تعداد سیب های باقی مانده کم می کنیم که ۵ منهای ۲ عدد ۳ می شود آیا ۳ از ۲ کمتر است خیر پس ادامه می دهیم حالا عدد ۲ را از تعداد سیب های موجود یعنی ۳ کم می کنیم که ۱ می شود که ۱ از ۲ کمتر است و اینجا کارمان پایان می یابد.چند بار ما منها کردیم ؟دقیقا ۳ بار پس تقسیم  صحیح ۷ بر ۲ عدد ۳ می شود الگوریتم ما هم برای تقسیم همین است

در اینجا تابع sub  تابع تفریق اعداد ۵۰ رقمی است.

تابع compare دو رشته را مقایسه می کند و می گوید ارزش رشته اول از لحاط ریاضی بزرگ تر یا کوچک تر یا مساوی رشته دوم است.

تابع main_division هم همان تابع اصلی تقسیم است که عدد دومی را از اولی کم می کند و یکی به counter اضافه می کند  و اگر عدد هنوز از عدد اول کوچک تتر باشد به کارش ادامه می دهد.

با کمی دست کاری می توانید این برنامه را برای اعداد ۱۰۰۰ تایی تولید کنید.

division

 


تبلیغات:

۹ دیدگاه

  • سلام ببخشید بخواهیم این کد رو توdev C++اجرا کنیم چه تغیراتی باید بدیم داخلش؟بعد این کد برای اعداد صحیح خیلی بزرگ هم عمل میکنه؟؟

    • حامد آهنگری

      سلام
      تغییر خاصی نیاز نیست.
      حداکثر تعداد رقم های اعدادی که برنامه با اون ها کار می کنه، در داخل کد مشخص شده و ۵۰ رقم هستش.

  • میشه ایمیل خودتونو بدین سوالاتم رو اونجا مطرح کنم؟

  • سلام کدتون اجرا نمیشه ۸ تا ارور داد. میگه x و y و main_division تعریف نشدن

  • سلام میشه لطف کنین بگین چه کدی باید اضافه بشه تا اعداد اعشاری رو هم در تقسیم تولید کنه؟ ممنون.

    • فرهاد دلیرانی

      این کد فقط برای تقسیم صحیح است و برای تولید اعداد اعشاری باید به خواص تقسیم توجه کنید، مثلا. پنج بر دو تقسیم صحیح اش می شود دو حالا بیا مقدار اعشاری اش را حساب کنیم: تقسیم صحیح پنج بر دو می شود دو، دو ضرب در دو می شود چهار که اگر از پنج کمش کنی می شود یک، یعنی باقی مانده ی تقسیم صحیح چهار بر دو می شود یک، یک را ضرب در دو کن می شود ده. حالا ده را تقسیم بر دو کن می شود پنج! که پنج را یک اعشار می دهیم می شود نیم و نیم را با دو جمع می کنیم می شود دونیم که حاصل تقسیم اعشاری ما است

نظر خود را بنویسید.

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *