PDA

View Full Version : توان



mostafa_aa
سه شنبه 29 فروردین 1385, 10:44 صبح
سلام

چه جوری می شه یه عدد بزرگ را به توان یه عدد رسوند و باقیمانده تقسیم آن عدد را بر عدد سوم بدست آورد
البته در c++

daneshjoye_azad
پنج شنبه 14 اردیبهشت 1385, 21:03 عصر
سلام
ببین عزیزم ، با تابع pow(int q,int w که در هدر فایل math.h قرار دارد میتوانید عدد q را به توان عدد w برسانید .
برای اینکه باقیمانده تقسیم این را بر عدد سومی را بدستبیاری باید مقدار تابع pow را در یک متغیر ذخیره کرده و اون عدد که مانند y است را بر x بدست آوریدو در k ذخیره کنید.


y=pow(int q,int w
k=y%x;

امیدوارم که این مشکلت بر طرف شده باشه.

mamadgmail
پنج شنبه 14 اردیبهشت 1385, 23:39 عصر
دوست شما باز هم به سوال توجه نکردید ایشون منظورشون اعداد خیلی بزرگ هستش یعنی یک عدد مثلا 50 رقمی؟ یا اصلا یک عدد کوچک تر ولی موضوع این جاست که توان خیلی سریع رشد می کنه و مقدار از ظرفیت مثلا int بیشتر می شه. برای به توان رسوندن اعداد بزرگ تنها راهی که به نظر من می رسه اینه که مثلا عدد رو به صورت رشته بگیرید و بعد عملیات ضرب برای به توان رسوندن شبیه سازی کنید.

daneshjoye_azad
شنبه 16 اردیبهشت 1385, 08:56 صبح
اگه از داده unsigned int استفاده کنه باز هم جواب نمیده

mamadgmail
شنبه 16 اردیبهشت 1385, 12:06 عصر
من که منظوره شما رو نمی فهمم. ببنید باز هم می گم سرعت رشد توان زیاده.بنابراین برای این کار باید توان رو به کمک آرایه ها یا هر ساختمان داده دیگری شبیه سازی کرد. این موضوع راجب فاکتوریل هم صدق می کنه. معمولا این سوالات زو اساتید درس برنامه سازی 1 مطرح می کنند و هدفشون استفاده از توابع کتابخانه ای مثل math نیست.