PDA

View Full Version : سوال: فاکتوریل



HMRamezanali
شنبه 20 فروردین 1390, 19:05 عصر
سلام
سوال من این بود که چه جوری میشه عددی رو هرچند بزرگ (بزرگتر از long int) دریافت کند و نتیجه رو چاپ کنه!
لطفا راهنماییم کنید!

مسعود اقدسی فام
شنبه 20 فروردین 1390, 23:18 عصر
داده رو به صورت رشته دریافت کنید و ضرب دو عدد بزرگ با استفاده از رشته‌ها رو پیاده‌سازی کنید. این ساده‌ترین راه ممکنه.

HMRamezanali
یک شنبه 21 فروردین 1390, 08:08 صبح
ممنون ولی
ضرب دو عدد به صورت رشته چه جوری باید انجام بشه؟
البته توی #c

مسعود اقدسی فام
یک شنبه 21 فروردین 1390, 19:11 عصر
ممنون ولی
ضرب دو عدد به صورت رشته چه جوری باید انجام بشه؟
البته توی #c

هر رشته آرایه‌ای از کاراکترهاست. در ساده‌ترین حالت می‌شه مثل ضرب عادی رقم به رقم ضرب رو انجام داد و در رشته دیگه‌ای ذخیره کرد.

Salar Ashgi
یک شنبه 21 فروردین 1390, 21:01 عصر
البته این موضوع بارها بررسی شده و راه حل های مربوطه اش نیز بیان شده است ؛
با این حال توضیحی براتون میدم : برای محاسبه فاکتوریل اعداد بزرگ اگر هدفتون فقط نتیجه هست و دقت
زیاد براتون مهم نیست ، میتوانید از تقریب استرلینگ استفاده کنید و اگر میخواهید نتیجه را با تمام دقت ارقام
محاسبه کنید ، همانطور که دوست عزیز "مسعود اقدسی فام" ذکر کردند ، یا باید کلاسی برای اعدادی بزرگ تعریف
کرده و اعداد بزرگ را بشکل رشته تعریف کنید و یا اینکه از آرایه دو بعدی استفاده کنید .

موفق باشید ./