تقسیم

منیا

عضو جدید
:cry:چه طوری باید برنامه تقسیم دو عدد 40 رقمی که از ورودی خونده می شه رو نوشت
 

sayyad84

متخصص زبان Assembly
کاربر ممتاز
با سلام،
شما هنوز مشخص نکردید که چه جوری می خواید ورودی ها رو بگیریئ و کجا ذخیره کنید.
یه سؤال دیگه قراره پاسخ صحیح بده یا اعشاری؟
 

منیا

عضو جدید
به صورت رشته ای جای ذخیره برام مهم نیست وقراره به پاسخ به هر صورت که شد جواب بده
 

Behnaz.M

عضو جدید
تقسیم در حقیقت همون منهاس، باید اول عدد بزرگترو تشخیص بده بعد آنقدر از عدد دوم رو ازش کم کنه که صفر بشه تعداد دفعات منها همون جوابه، فکر کنم باید همون جایی که عددا رو می گیره هر کدومو بریزه تو یه آرایه 40 تایی بعد بفرسته به یه تابع تفریق که بیت به بیت از هم کمشون کنه و جوابو بریزه تو یه آرایه دیگه باید قرض گرفتن از رقم قبلی رو در نظر گرفت، البته فکر نکنم به این سادگی باشه احتمالا باید یه رابطه ای واسه تفریق کردنشون پیدا کرد تا با عددای کوچکتری کار کنیم شاید یه چیزی مثل این:987654321-123456789=(123400000+56789 ) - (987600000+54321)=(56789-54321)+(1234500000-98760000) منتها ایرادی که داره اینه که قسمت دومش منفی در می آد که میشه با متغیر قرضی که اسمشو Borrow می ذاریم حلش کرد. مثلا اگر 56789-54321 باشه موقع تفریق 5 عدد 54321 به 4 تبدیل شده که می تونیم Borrow رو 10 بزاریم و با 4 جمعش کنیم بعد تفریق رو انجام بدیم (کلا باید تو تفریق هر دو رقم، رقم اول رو با borrow جمع کرد بعد رقم دوم رو ازش کم کرد) در عوض باید تو تفریق قسمت اول یعنی تو عدد 987600000 رقم 6 رو به 5 تبدیل کنیم ، حالا نمی دونم چقدر درسته چقدر غلط
 
بالا