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

सी ++ में शब्दों में एक सकारात्मक पूर्णांक संख्या व्यक्त करने का कार्यक्रम

मान लीजिए हमें एक धनात्मक पूर्णांक संख्या दी गई है। हमें संख्याओं को शब्दों में लिखना है; जैसे अगर इनपुट के रूप में "56" नंबर दिया गया है तो आउटपुट "फिफ्टी-सिक्स" होगा। रूपांतरण की सीमा एक अरब तक है।

इसलिए, यदि इनपुट इनपुट =5678 जैसा है, तो आउटपुट पांच हजार छह सौ अट्ठाइस होगा।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • एक सरणी 'संख्या' को परिभाषित करें जिसमें जोड़े हों जैसे - {{"बिलियन", 1000000000},
    • {"मिलियन", 1000000},
    • {"हजार", 1000},
    • {"सौ", 100},
    • {"नब्बे", 90},
    • {"अस्सी", 80},
    • {"सत्तर", 70},
    • {"साठ", 60},
    • {"फिफ्टी", 50},
    • {"चालीस", 40},
    • {"थर्टी", 30},
    • {"ट्वेंटी", 20},
    • {"उन्नीस", 19},
    • {"अठारह", 18},
    • {"सत्रह", 17},
    • {"सोलह", 16},
    • {"पंद्रह", 15},
    • {"चौदह", 14},
    • {"तेरह", 13},
    • {"बारह", 12},
    • {"ग्यारह", 11},
    • {"दस", 10},
    • {"नौ", 9},
    • {"आठ", 8},
    • {"सात", 7},
    • {"छः", 6},
    • {"पांच", 5},
    • {"चार", 4},
    • {"तीन", 3},
    • {"दो", 2},
    • {"एक", 1}}
  • फ़ंक्शन को हल करें () परिभाषित करें। यह इनपुट लेता है।
    • यदि इनपुट 0 के समान है, तो −
      • "शून्य" लौटाएं
    • सरणी संख्या में प्रत्येक अंक के लिए, करें
      • यदि संख्या का दूसरा मान <=इनपुट, तो −
        • यदि संख्या का दूसरा मान>=100, तो −
          • परिणाम:=हल करें (इनपुट / अंक का दूसरा मान)
          • यदि इनपुट> (इनपुट/संख्या का दूसरा मान) * m का दूसरा मान, तो −
            • परिणाम:=परिणाम + "" + हल (इनपुट - (इनपुट / अंक का दूसरा मान))
        • अन्यथा,
          • परिणाम :=num + का पहला मान ((यदि इनपुट> num का दूसरा मान, तो:"" + हल करें (इनपुट - num का दूसरा मान), अन्यथा:" "))
        • लूप से बाहर आएं
    • वापसी का परिणाम
  • समाधान (इनपुट)

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

#include<bits/stdc++.h>

using namespace std;

vector<pair<string, int>> numbers{{"Billion", 1000000000},
   {"Million", 1000000},
   {"Thousand", 1000},
   {"Hundred", 100},
   {"Ninety", 90},
   {"Eighty", 80},
   {"Seventy", 70},
   {"Sixty", 60},
   {"Fifty", 50},
   {"Forty", 40},
   {"Thirty", 30},
   {"Twenty", 20},
   {"Nineteen", 19},
   {"Eighteen", 18},
   {"Seventeen", 17},
   {"Sixteen", 16},
   {"Fifteen", 15},
   {"Fourteen", 14},
   {"Thirteen", 13},
   {"Twelve", 12},
   {"Eleven", 11},
   {"Ten", 10},
   {"Nine", 9},
   {"Eight", 8},
   {"Seven", 7},
   {"Six", 6},
   {"Five", 5},
   {"Four", 4},
   {"Three", 3},
   {"Two", 2},
   {"One", 1}};
string solve(int input) {
   if (input == 0) return "Zero";
   string result;
   for (auto& num : numbers) {
      if (num.second <= input) {
         if (num.second >= 100) {
            result = solve(input / num.second) + " " + num.first;
            if (input > (input / num.second) * num.second)
               result += " " + solve(input - (input / num.second) * num.second);
         } else {
            result = num.first + (input > num.second ? " " + solve(input - num.second) : "");
         }
         break;
      }
   }
   return result;
}

int main() {
   cout<< solve(5678) <<endl;
   return 0;
}

इनपुट

5678

आउटपुट

Five Thousand Six Hundred Seventy Eight

  1. C++ प्रोग्राम किसी संख्या की शक्ति की गणना करने के लिए

    किसी संख्या की घात की गणना x^y के रूप में की जा सकती है जहाँ x संख्या है और y इसकी शक्ति है। उदाहरण के लिए। Let’s say, x = 2 and y = 10    x^y =1024    Here, x^y is 2^10 पुनरावर्ती और गैर-पुनरावर्ती कार्यक्रमों का उपयोग करके किसी संख्या की शक्ति की गणना की जा सकती है। इन

  1. सी ++ प्रोग्राम एक नंबर रिवर्स करने के लिए

    किसी संख्या को उलटने का अर्थ है उसके अंकों को उल्टे क्रम में संग्रहित करना। उदाहरण के लिए:यदि संख्या 6529 है, तो आउटपुट में 9256 प्रदर्शित होता है। किसी संख्या को उलटने का कार्यक्रम इस प्रकार दिया गया है - उदाहरण #include <iostream> using namespace std; int main() {    int num = 63

  1. एक सकारात्मक पूर्णांक संख्या के बिट्स को उलटने के लिए पायथन प्रोग्राम?

    पहले बिन () फ़ंक्शन का उपयोग करके संख्या को बाइनरी में बदलें। फिर द्विआधारी प्रतिनिधित्व के पहले दो वर्णों को छोड़ दें क्योंकि बिन () संख्या के द्विआधारी प्रतिनिधित्व में उपसर्ग के रूप में 0b को जोड़ता है और शेष भाग को उलट देता है। चरित्र से भी और इसे बाएं से दूसरे अंतिम वर्ण तक उलट दें। उलटे बाइनरी