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

संख्या को रोमन अंकों में बदलना


परिचय

रोमन संख्याएं स्थितिगत संख्याएं नहीं हैं। कुछ अंकों को एक साथ रखकर रोमन संख्याओं में एक संख्या बनाई जाती है। उदाहरण के लिए संख्या 75 को 75 = 50 + 10 + 10 + 5 के रूप में व्यक्त किया जा सकता है, इसलिए रोमन अंक LXXV हैं।

इस समस्या में एक संख्या दशमलव प्रारूप में प्रदान की जाती है, हमारा कार्य इसे रोमन अंक स्ट्रिंग में बदलना है।

विभिन्न प्रतीक और उनके मान हैं, जैसे यह:

IIVVIXXXLLXCCCDDCMMMMMMV'
145910405090100400500900100040005000

इस तालिका का उपयोग करके, हम किसी दी गई संख्या के रोमन अंक आसानी से ढूंढ सकते हैं।

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

इनपुट: दशमलव संख्या: 3569
आउटपुट: 3569 का रोमन समतुल्य है: MMMDLXIX

एल्गोरिदम

decToRoman(nuList, num)
इनपुट: अपने मान के साथ अंक सूची, रोमन में बदलने के लिए संख्या
आउटपुट: दी गई संख्या के लिए रोमन अंक

Begin
    यदि num ≠ 0, तो
        max := अधिकतम अंक मान प्राप्त करें, संख्या से अधिक नहीं
        nuList[max].symbol प्रदर्शित करें
        num := num – nuList[max].value
        decToRoman(nuList, num)
End

उदाहरण (C++ कोड)

#include <iostream>
using namespace std;

struct numeral {
    string sym;
    int val;
};

int maxNume(numeral nu[], int num) {
    int index;
    for (int i = 0; i < 15; i++) // सरणी में 15 अंक
        if (nu[i].val <= num)
            index = i; // सबसे बड़ा अंक मान सूचकांक, संख्या से अधिक नहीं
    return index;
}

void decToRoman(numeral nu[], int num) {
    int max;
    if (num != 0) {
        max = maxNume(nu, num);
        cout << nu[max].sym;
        num -= nu[max].val; // संख्या घटाएं
        decToRoman(nu, num); // पुनरावर्ती रूप से अंक प्रिंट करें
    }
}

int main() {
    int number;
    numeral nume[15] = {{"I",1},{"IV",4},{"V",5},{"IX",9},
        {"X",10},{"XL",40},{"L",50},{"XC",90},
        {"C",100},{"CD",400},{"D",500},{"CM",900},
        {"M",1000},{"MMMM",4000},{"V'",5000}};
    cout << "Enter a decimal number: "; cin >> number;
    if (number > 0 && number <= 5000) { // इनपुट संख्या की जांच
        cout << "The Roman equivalent of " << number << " is: ";
        decToRoman(nume, number);
    } else {
        cout << "Invalid Input";
    }
}

आउटपुट

Enter a decimal number: 3569
The Roman equivalent of 3569 is: MMMDLXIX
  1. JavaScript Number() फंक्शन JavaScript Number() फंक्शन

    JavaScript Number() फंक्शन ऑब्जेक्ट वैल्यू को तर्क के रूप में पास करके उसके संबंधित न्यूमेरिक वैल्यू में बदल देता है।उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width,

  1. - JavaScript में नार्सिसिस्टिक नंबर

    नार्सिसिस्टिक नंबरदिए गए नंबर बेस b में एक नार्सिसिस्टिक नंबर वह संख्या है जो अपने स्वयं के अंकों के योग के बराबर होती है, प्रत्येक को अंकों की संख्या की घात तक उठाया जाता है।उदाहरण के लिए -153 = 1^3 + 5^3 + 3^3 = 1+125+27 = 153इसी तरह,1 = 1^1 = 1दृष्टिकोणहम पहले व्हाइल लूप का उपयोग करके अंकों की सं

  1. JavaScript में संख्या पैटर्न JavaScript में संख्या पैटर्न

    हमें एक JavaScript और HTML प्रोग्राम लिखना है जो उपयोगकर्ता को एक टेक्स्ट इनपुट और बटन प्रदान करता है। जब उपयोगकर्ता इनपुट में कोई मान दर्ज करता है, मान लीजिए 5, और बटन पर क्लिक करता है, तो हमें स्क्रीन पर निम्नलिखित पैटर्न प्रिंट करना चाहिए। (n = 5 के लिए) 01 01 02 01 02 03 01 02 03 04 01 02 03 04