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

نام تاپیک: تقسیم اعداد خیلی بزرگ (200 رقم) - فوری

  1. #1

    تقسیم اعداد خیلی بزرگ (200 رقم) - فوری

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

  2. #2
    کاربر دائمی آواتار cardano7
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    کارتون خواب
    پست
    473

    نقل قول: تقسیم اعداد خیلی بزرگ (200 رقم) - فوری

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

  3. #3

    نقل قول: تقسیم اعداد خیلی بزرگ (200 رقم) - فوری

    پروژه درس C#‎ ، خودم با تفریق متوالی انجام دادم ولی تا 7،8 رقم جواب می ده . (عدد رو به صورت رشته می گیره بعد به صورت آرایه int ذخیره می کنه ، دو عدد را تو یک حلقه آن قدر از هم کم تا صفر بشه یا باقی مانده کوچکتر، تعداد مراحل خارج قسمت می شه) ، آیا راه حل بهتری می دونین ، می تونین کمک کنین؟ یا همین روش و اصلاح کنین؟
    فایل برنامه را هم گذاشتم.
    فایل های ضمیمه فایل های ضمیمه
    • نوع فایل: rar div.rar‏ (23.1 کیلوبایت, 118 دیدار)

  4. #4
    کاربر دائمی آواتار zayens
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بهارستان
    پست
    591

    نقل قول: تقسیم اعداد خیلی بزرگ (200 رقم) - فوری

    این تقسیم با int و حتی با Long int همون طور که گفتی تا چند رقم امکان پذیر نیست
    برای اینجور کار ها باید از آرایه استفاده کنی

  5. #5

    نقل قول: تقسیم اعداد خیلی بزرگ (200 رقم) - فوری

    آرایه که خودمم بلد بودم یه چیز دیگه بگید!!

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

    نقل قول: تقسیم اعداد خیلی بزرگ (200 رقم) - فوری

    نقل قول نوشته شده توسط Mohandes2009 مشاهده تاپیک
    آرایه که خودمم بلد بودم یه چیز دیگه بگید!!
    شما تا 200 رقم می خواین منم گفتم آرایه
    چند تا چیز می خوای؟

  7. #7

    Red face نقل قول: تقسیم اعداد خیلی بزرگ (200 رقم) - فوری

    نقل قول نوشته شده توسط zayens مشاهده تاپیک
    شما تا 200 رقم می خواین منم گفتم آرایه
    چند تا چیز می خوای؟
    با آرايه چطوري بايد برنامشو نوشت اگه ميشه كدشو بزارين

  8. #8

    نقل قول: تقسیم اعداد خیلی بزرگ (200 رقم) - فوری

    جناب zayens من هم این کار را با آرایه (تک تک ارقام را در آرایه ای از int گذاشتم) انجام دادم ، فقط مشکل اینجاست که از 7،8 رقم به بالا جواب سیستم خیلی طول می کشه یا هنگ می کنه، میشه بیشتر توضیح بدین یا نمونه کد بگذارین.

  9. #9
    کاربر دائمی آواتار zayens
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بهارستان
    پست
    591

    نقل قول: تقسیم اعداد خیلی بزرگ (200 رقم) - فوری

    یه مثال برای جمع 2 عدد بسیار بزرگ

    ابتدا عددها را درون string بریزید
    *جمع 2 عدد 2 رقمی حداکثر 3 رقمی و جمع 2 عدد 4 رقمی حداکثر5 رقمی است
    پس آرایه ای با طول string +1 ایجاد کنید با نام sum
    حال بطول هر string یک آرایه با همان طول بسازید و هر عدد را درون بک خانه از آرایه قرار بدین
    یادتون باشه که هر عدد را ()int.pars کنین و یک متغیر int نیز برای Carry Out بسازید.
    مثلا ;int x=0
    در این صورت 2 آرایه از نوع int برای محاسبه داریم که از خانه ی صفر پر شده اند

    فرض کنین عدد زیر در اولین آرایه قرار گرفته:
    |1|6|6|5|4|7|8|5|6|4|2|1|5|6|9|7|4|5|9|8|5|6|4|4|1|2 |5|6|2|1|4|
    این هم عدد دوم
    |3|6|5|4|1|2|9|8|7|4|5|8|5|4|1|2|3|6|9|8|5|4|7|5|1|2 |5|6|3|2|1|

    خوب حالا از آخرین آرایه شروع میکنیم.
    3+1=4 در انتها 4 را با x که صفر است جمع میکنیم
    عدد 4 در آرایه ی sum قرار میگیره. در آرایه ی صفرم.
    در انتها کل آرایه را invers میکنیم

    برای قسمت دوم 6+6=12
    عدد را جدا کنین و 2 را به آرایه ی بعدی sum بفرستین و 1 را در x بگذارید
    یه if بذارید که اگر عدد (در اینجا12) 2 رقمی بود x را مساوی عدد دهگان قرار بده.
    در هر محاسبه دوباره x را صفر کنین
    والی آخر
    به همین راحتی می تونین سایر محاسبات را انجام بدین

  10. #10
    کاربر دائمی آواتار hamid.shekasteh
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    شیراز
    پست
    192

    نقل قول: تقسیم اعداد خیلی بزرگ (200 رقم) - فوری

    اینو من چند سال پیش با پاسکال نوشتم
    جمع و منها و ضرب و تقسیم اعداد بزرگ با آرایه ، احتمالا پاسکال رو بلدین
    فایل های ضمیمه فایل های ضمیمه

  11. #11
    کاربر دائمی آواتار mohammad meta
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    تهران
    پست
    125

    نقل قول: تقسیم اعداد خیلی بزرگ (200 رقم) - فوری

    شما فقط کافی طرز تقسیم را در دبستان به یاد آورید بعد بوسیله آرایه ای از string دو عدد را بخوانید
    مثلا اگر بخواهیم 1250 را به 5 تقسیم کنیم از آرایه اول 2 رقم سمت راست را جدا کرده و سپس آن را به 5 تقسیم کرده و باقیمانده را به جای 12 در آرایه اول قرار میدهیم و این کار همین شکل ادامه پیدا می کند تا عدد آرایه اول کوچکتر از عدد آرایه دوم شود . به همین سادگی .
    اگه بازم متوجه نشدی یک بار عمل تقسیم را به روش دبستان انجام بده متوجه می شی

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

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