2685 Numeral System

「2685 Numeral System」の編集履歴(バックアップ)一覧はこちら

2685 Numeral System」(2006/05/14 (日) 00:50:08) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

**2685 Numeral System **解答例 import java.util.*; public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i=0;i<n;i++){ String s1 = sc.next(); String s2 = sc.next(); print_mcxi(mcxi_to_int(s1) + mcxi_to_int(s2)); } } private static int mcxi_to_int(String s){ int ret = 0; int index = 0; int prefix; char unit; while(index<s.length()){ char c = s.charAt(index); if('2'<=c&&c<='9'){ prefix = c - '0'; index++; c = s.charAt(index); } else{ prefix = 1; } unit = c; switch(unit){ case 'm': ret += 1000 * prefix; break; case 'c': ret += 100 * prefix; break; case 'x': ret += 10 * prefix; break; case 'i': ret += prefix; break; default: throw new RuntimeException(); } index++; } return ret; } private static void print_mcxi(int x){ int pm = x/1000; int pc = (x/100)%10; int px = (x/10)%10; int pi = x%10; if(pm>=2){ System.out.printf("%dm",pm); } else if(pm==1){ System.out.printf("m"); } if(pc>=2){ System.out.printf("%dc",pc); } else if(pc==1){ System.out.printf("c"); } if(px>=2){ System.out.printf("%dx",px); } else if(px==1){ System.out.printf("x"); } if(pi>=2){ System.out.printf("%di",pi); } else if(pi==1){ System.out.printf("i"); } System.out.println(); } }

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。