== Input ==
1
2
20
99
0
== Output ==
1: 1 i, 0 v, 0 x, 0 l, 0 c
2: 3 i, 0 v, 0 x, 0 l, 0 c
20: 28 i, 10 v, 14 x, 0 l, 0 c
99: 140 i, 50 v, 150 x, 50 l, 10 c
codice:
#include <iostream>
using namespace std;
int main() {
int cont=0;
int numero;
int dim= 5;
const int N[5]={1, 5, 10, 50, 100};
const char R[5]={'I', 'V', 'X', 'L', 'C'};
cout<<"numero"<<endl;
cin>>numero;
while(numero > 0 && numero <= 100)
{
for(int i=0; i<dim; i++)
{
cont=0;
if(numero / N[dim-1-i] < 1)
cout<<cont<<R[dim-1-i]<<endl;
else if(numero / N[dim-1-i] >= 1)
{
cont=numero / N[dim-1-i];
cout<<cont<<R[dim-1-i]<<endl;
numero= numero - (cont * N[dim-1-i]);
}
}
}
return 0;
}
Funziona con tutti i numeri che gli do, tranne per i numeri che cominciano con 4 e 9... 24, 44 , 49, 99.....
Io non baderei agli input ed output..sono sbagliati di grossissimo o no?