Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chuyển số thập phân 1-3999 sang số La Mã trong C++


Chương trình chuyển số nguyên từ 1 đến 3999 sang ký tự La Mã.

Cho một số nguyên ngẫu nhiên, chuyển thành số La Mã tương đương.

Ví dụ

#include <bits/stdc++.h>
using namespace std;

int printRoman(int number) {
    int num[] = {1,4,5,9,10,40,50,90,100,400,500,900,1000};
    string sym[] = {"I","IV","V","IX","X","XL","L","XC","C","CD","D","CM","M"};
    int i = 12;
    while (number > 0) {
        int div = number / num[i];
        number = number % num[i];
        while (div--)
            cout << sym[i];
        i--;
    }
}

int main() {
    int number = 3949;
    printRoman(number);
    return 0;
}

Kết quả

MMMCMXLIX