777vasil

[NP] Римски броеви

Oct 30th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.89 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.util.stream.IntStream;
  3.  
  4. public class RomanConverterTest {
  5.     public static void main(String[] args) {
  6.         Scanner scanner = new Scanner(System.in);
  7.         int n = scanner.nextInt();
  8.         IntStream.range(0, n)
  9.                 .forEach(x -> System.out.println(RomanConverter.toRoman(scanner.nextInt())));
  10.         scanner.close();
  11.     }
  12. }
  13.  
  14.  
  15. class RomanConverter {
  16.     /**
  17.      * Roman to decimal converter
  18.      *
  19.      * @param n number in decimal format
  20.      * @return string representation of the number in Roman numeral
  21.      */
  22.     public static String toRoman(int n) {
  23.         StringBuilder sb = new StringBuilder();
  24.    
  25.     //count how many digits
  26.     Integer counter = 0;
  27.     int m = n;
  28.     while(m != 0 && m > 0){
  29.         m /= 10;
  30.         counter++;
  31.     }
  32.        
  33.     while(n != 0){
  34.         if(n >= 1000){
  35.             n -= 1000;
  36.             sb.append("M");
  37.         }
  38.         if(n>899 && n<1000){
  39.             n -= 900;
  40.             sb.append("CM");
  41.         }
  42.         if(n>499 && n<900){
  43.             n -= 500;
  44.             sb.append("D");
  45.         }
  46.         if(n>399 && n<500){
  47.             n -= 400;
  48.             sb.append("CD");
  49.         }
  50.         if(n>99 && n<400){
  51.             n -= 100;
  52.             sb.append("C");
  53.         }
  54.         if(n>89 && n<100){
  55.             n -= 90;
  56.             sb.append("XC");
  57.         }
  58.         if(n>49 && n<90){
  59.             n -= 50;
  60.             sb.append("L");
  61.         }
  62.         if(n>39 && n<50){
  63.             n -= 40;
  64.             sb.append("XL");
  65.         }
  66.         if(n>9 && n<40){
  67.             n -= 10;
  68.             sb.append("X");
  69.         }
  70.         if(n == 9){
  71.             n -= 9;
  72.             sb.append("IX");
  73.         }
  74.         else if(n == 8){
  75.             n -= 8;
  76.             sb.append("VIII");
  77.         }
  78.         else if(n == 7){
  79.             n -= 7;
  80.             sb.append("VII");
  81.         }
  82.         else if(n == 6){
  83.             n -= 6;
  84.             sb.append("VI");
  85.         }
  86.         else if(n == 5){
  87.             n -= 5;
  88.             sb.append("V");
  89.         }
  90.         else if(n == 4){
  91.             n -= 4;
  92.             sb.append("IV");
  93.         }
  94.         else if(n == 3){
  95.             n -= 3;
  96.             sb.append("III");
  97.         }
  98.         else if(n == 2){
  99.             n -= 2;
  100.             sb.append("II");
  101.         }
  102.         else if(n == 1){
  103.             n -= 1;
  104.             sb.append("I");
  105.         }
  106.     }
  107.         return sb.toString();
  108.     }
  109.  
  110. }
Add Comment
Please, Sign In to add comment