Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> प्रोग्रामिंग

न्यूनतम सिक्का परिवर्तन समस्या


सिक्का C(c1, c2, ……Cn) की एक सूची है और एक मान V भी दिया गया है। अब समस्या यह है कि मौका वी बनाने के लिए सिक्कों की न्यूनतम संख्या का उपयोग किया जाए।

नोट - मान लें कि सिक्कों की अनंत संख्या है C

इस समस्या में, हम विभिन्न सिक्कों के एक सेट पर विचार करेंगे C{1, 2, 5, 10} दिए गए हैं, प्रत्येक प्रकार के सिक्कों की एक अनंत संख्या है। अनुरोधित मूल्य में परिवर्तन करने के लिए हम किसी भी प्रकार के सिक्कों की न्यूनतम संख्या लेने का प्रयास करेंगे।

उदाहरण के तौर पर, मान 22 के लिए - हम न्यूनतम के रूप में {10, 10, 2}, 3 सिक्के चुनेंगे।

इस एल्गोरिथम आईडी O(V) की समय जटिलता, जहां V मान है।

इनपुट और आउटपुट

Input:
A value, say 47
Output:
Enter value: 47
Coins are: 10, 10, 10, 10, 5, 2

एल्गोरिदम

findMinCoin(value)

इनपुट - परिवर्तन करने का मूल्य

आउटपुट - सिक्कों का सेट।

Begin
   coins set with value {1, 2, 5, 10}
   for all coins i as higher value to lower value do
      while value >= coins[i] do
         value := value – coins[i]
         add coins[i], in thecoin list
      done
   done
   print all entries in the coin list.
End

उदाहरण

#include<iostream>
#include<list>
#define COINS 4
using namespace std;

float coins[COINS] = {1, 2, 5, 10};

void findMinCoin(int cost) {
   list<int> coinList;

   for(int i = COINS-1; i>=0; i--) {
      while(cost >= coins[i]) {
         cost -= coins[i];
         coinList.push_back(coins[i]); //add coin in the list

      }
   }

   list<int>::iterator it;

   for(it = coinList.begin(); it != coinList.end(); it++) {
      cout << *it << ", ";
   }
}

main() {
   int val;
   cout << "Enter value: ";
   cin >> val;
   cout << "Coins are: ";
   findMinCoin(val);
   cout << endl;
}

आउटपुट

Enter value: 47
Coins are: 10, 10, 10, 10, 5, 2

  1. Windows 10 में Alt-Tab पारदर्शिता कैसे बदलें

    लगभग हर ऑपरेटिंग सिस्टम में सबसे अच्छी और सबसे उपयोगी सुविधाओं में से एक Alt + Tab कीबोर्ड शॉर्टकट है। यह आसान छोटा कीबोर्ड शॉर्टकट पहली बार विंडोज 3.0 में पेश किया गया था। तब से, यह कीबोर्ड शॉर्टकट माउस का उपयोग किए बिना कई ऐप्स के बीच स्विच करने के लिए व्यापक रूप से उपयोग किया जाता है। जब आप विंडो

  1. सी ++ में अधिकतम ढेर में न्यूनतम तत्व।

    समस्या कथन अधिकतम ढेर में कम से कम मान वाला तत्व खोजें। आइए हम अधिकतम ढेर के नीचे विचार करें। रूट नोड के अधिकतम ढेर मूल्य में हमेशा उसके बच्चे से अधिक होता है। इस संपत्ति के कारण, हम यह निष्कर्ष निकाल सकते हैं कि मान लीफ नोड्स में से एक में मौजूद होगा। यदि ढेर में n नोड्स हैं तो छत (n/2) पत्ते

  1. सिक्का परिवर्तन के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एन सिक्के दिए गए हैं और हम उन सिक्कों में बदलाव करना चाहते हैं, जैसे कि एस में प्रत्येक मूल्य की अनंत आपूर्ति है। हमें यह प्रदर्शित करने की आवश्यकता है कि हम कितने तरीकों से बदलाव कर सकते हैं, क्रम के बावजूद। हम