سورس خرد کردن پول در طراحی الگوریتم ها

طراحی الگوریتم ها

دانلود رایگان سورس خرد کردن پول 

هدف فروشنده یک فروشگاه دادن بقیه پول به میزان صحیح و با حداقل تعداد سکه ممکن است. ابتدا فروشنده بزرگترین سکه از لحاظ ارزش را پیدا می کند، یعنی ملاک وی ارزش سکه است(روال انتخاب). سپس باید ببیند که آیا با افزودن این سکه به بقیه پول، جمع کل آنها از چیزی که باید باشد بیشتر می شود یا خیر(امکان سنجی). اگر با افزودن این سکه، بقیه پول از میزان لازم بیشتر نشود، این سکه به مجموعه افزوده می شود

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

مثال

اگر سکه های آمریکایی( ۱سنتی، ۵سنتی، ۱۰سنتی، ۲۵سنتی و نیم دلاری) باشند و اگر از هر کدام حداقل یک عدد موجود باشد، آیا الگوریتم حریصانه همواره در صورت وجود حل بهینه را برمی گرداند؟ بله- به طور نمونه برگرداندن ۳۶سنت به مشتری:
-۱دادن یک سکه ۲۵سنتی
-۲دادن یک سکه ۱۰سنتی
-۳دادن یک سکه ۱۰سنتی دیگر (ولی چون از ۳۶سنت بیشتر می شود، این سکه پس گرفته می شود.)
-۴دادن یک سکه ۵سنتی (ولی چون از ۳۶سنت بیشتر می شود، این سکه پس گرفته می شود.)
-۵دادن یک سکه ۱سنتی
بنابراین در کل یک سکه ۲۵سنتی، یک سکه ۱۰سنتی و یک سکه ۱سنتی به مشتری داده شد.

در ادامه سورس مساله خرد کردن پول با استفاده از زبان برنامه نویسی ++c آورده شده است.

Download دانلود سورس کد خرد کردن سکه در طراحی الگوریتم

فرستادن دیدگاه

گواهی پرداخت آنلاین سایت دنیا فایل

پرداخت آنلاین سایت دنیا فایل توسط شرکت زرین پال انجام می‌شود. در صورت بروز هرگونه مشکل پیش آمده در هنگام خرید با ایمیل contact-us@donyafile.ir در میان بگذارید.