समस्या
राउंडिंग की गलतियों से बचने के लिए पैसे आमतौर पर पूरे सेंट में रखे जाते हैं और सिर्फ़ दिखाते समय डॉलर में फ़ॉर्मेट किए जाते हैं।
हर आइटम के लिए लाइन <name> x<quantity> = <amount> लिखें, जहाँ amount = quantity × सेंट में कीमत। आइटम के बाद सभी लाइनों के जोड़ के साथ Total = <amount> लिखें।
हर रकम को डॉलर, एक बिंदु और ठीक दो अंकों के सेंट में लिखें, जैसे 5 → 0.05 और 1250 → 12.50।
format_invoice(names, quantities, cents) लिखें।
इनपुट
names, quantities, cents: हर आइटम का वर्णन करने वाली मेल खाती लिस्ट।
आउटपुट
आइटम की लाइनें और उसके बाद कुल की लाइन लौटाएँ।
सीमाएँ
0 ≤ आइटम की संख्या ≤ 1,000
1 ≤ quantity ≤ 1,000; 0 ≤ cents ≤ 10^6
उदाहरण
इनपुट:
cents = [250, 375]
names = ["Tea", "Cake"]
quantities = [2, 1]
अपेक्षित आउटपुट:
expected = ["Tea x2 = 5.00", "Cake x1 = 3.75", "Total = 8.75"]
इनपुट:
std::vector<long long> cents = {250, 375};
std::vector<std::string> names = {"Tea", "Cake"};
std::vector<long long> quantities = {2, 1};
अपेक्षित आउटपुट:
std::vector<std::string> expected = {"Tea x2 = 5.00", "Cake x1 = 3.75", "Total = 8.75"};
इनपुट:
long[] cents = new long[] {250, 375};
string[] names = new string[] {"Tea", "Cake"};
long[] quantities = new long[] {2, 1};
अपेक्षित आउटपुट:
string[] expected = new string[] {"Tea x2 = 5.00", "Cake x1 = 3.75", "Total = 8.75"};
व्याख्या
2 × 250 = 500 सेंट यानी 5.00 और 375 सेंट यानी 3.75; कुल 875 सेंट: ["Tea x2 = 5.00", "Cake x1 = 3.75", "Total = 8.75"]।
इनपुट:
cents = [5]
names = ["Gum"]
quantities = [3]
अपेक्षित आउटपुट:
expected = ["Gum x3 = 0.15", "Total = 0.15"]
इनपुट:
std::vector<long long> cents = {5};
std::vector<std::string> names = {"Gum"};
std::vector<long long> quantities = {3};
अपेक्षित आउटपुट:
std::vector<std::string> expected = {"Gum x3 = 0.15", "Total = 0.15"};
इनपुट:
long[] cents = new long[] {5};
string[] names = new string[] {"Gum"};
long[] quantities = new long[] {3};
अपेक्षित आउटपुट:
string[] expected = new string[] {"Gum x3 = 0.15", "Total = 0.15"};
व्याख्या
3 × 5 = 15 सेंट, जो 0.15 लिखा जाता है: ["Gum x3 = 0.15", "Total = 0.15"]।
कैसे हल करें
पहले खुद कोशिश करें, फिर एक-एक करके संकेत खोलें।
संकेत 1
सारा हिसाब पूरे सेंट में करें।
संकेत 2
सेंट को डॉलर (cents / 100) और बाकी (cents % 100) में बाँटें।
संकेत 3
सेंट हमेशा दो अंकों में लिखें, इसलिए 5 सेंट 0.05 है।
अपेक्षित जटिलता
समय O(आइटम की संख्या), अतिरिक्त स्थान O(आइटम की संख्या)
संदर्भ
यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।