المپیاد کامپیوتر

ترکیبیات,برنامه نویسی,گراف,الگوریتم , و کلا کامپیوتر

المپیاد کامپیوتر

ترکیبیات,برنامه نویسی,گراف,الگوریتم , و کلا کامپیوتر

المپیاد کامپیوتر

اعداد بزرگ در++C

يكشنبه, ۱۵ بهمن ۱۳۹۱، ۰۵:۲۷ ب.ظ

 سورس کد که میذارم براتون در این پست,کد برنامه ای هستش که مجموع اعداد بسیار بسیار بزرگ رو در زمان کمی چاپ میکنه.(مثلا مجموع دو عدد 1000 رقمی یا حتی بیشتر)


این کد که کد BigNum بهش میگن در اصل شبیه سازی عمل جمع هستش.یعنی جای استفاده ساده از عملگر + ما میایم رقم به رقم خودمون جمع میکنیم و ده بر یک ها رو حساب میکنیم و چاپ میکنیم.نکته ای هم که هستش دریافت ورودیه.همون طور که میدونید چیزی مثل int یک عدد 100 رقمی رو نمیتونه تو خودش جا بده پس ما هم نمیتونیم به اون صورت عدد رو دریافت کنیم.بنابراین میایم اعداد رو به صورت string دریافت میکنیم و خودمون توی یک وکتور(خیلی مهمه ساخت وکتور چون مثلا اعداد 10 به توان 9 رقمی رو نمیتونیم در آرایه جا بدیم) میریزیم و بعد کارمون رو ادامه میدیم و خروجیمون هم در اصل یک عدد نیست بلکه یک وکتور هستش که ما تک تک خونه هاشو پشت سرهم چاپ میکنیم و کاربر اون ها رو به صورت یک عدد یکپارچه میبینه.

کدش!!!

دانلود به صورت فایل!!!

نظرات (۱)

سلام

استفاده از آرایه زمان محاسبه را بسیار کند می کند، پیشنهاد من استفاده از String ها بعنوان جواب است.

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی