cpp
9/22/2018 - 10:26 AM

integer to roman numerals

    string intToRoman(int num) {
        
    vector<int> romans   {1000, 900, 500,   400, 100, 90,   50,   40,  10,   9, 5,   4, 1};
    vector<string> letters  {"M", "CM", "D", "CD", "C", "CX", "L", "XL", "X","IX", "V", "IV", "I"};

    std::string roman="";
        
    auto lx = letters.begin();
    auto r = romans.begin();

    for (; r != romans.end() && lx != letters.end(); )
    {
        int rom = *r;
        string  let = *lx;
        int div = num/rom;
        if (div) { roman += let;  num -= rom;  }
        else { r++; lx++;  }
    }

    return roman;