fork(2) download
  1. class M{
  2. static int c(String s){
  3. String x = " 一二三四五六七八九十百";
  4. int l = s.length(),
  5. i = x.indexOf(s.charAt(l-1)),
  6. j = x.indexOf(s.charAt(0));
  7. if(l<2) return i; // 1-10
  8. if(l<3){
  9. if(i==10) return j*10; // 20,30,40,50,60,70,80,90
  10. if(i>10) return j*100; // 100,200,300,400,500,600,700,800,900
  11. return 10+i; // 11-19
  12. }
  13. if(l<4) return j*10+i; // 21-29,31-39,41-49,51-59,61-69,71-79,81-89,91-99
  14. if(l<5) return j*100+i; // 101-109,201-209,301-309,401-409,501-509,601-609,701-709,801-809,901-909
  15. return j*100+i+x.indexOf(s.charAt(2))*10; // 111-119,121-129,131-139,...,971-979,981-989,991-999
  16. }
  17.  
  18. public static void main(String[] a){
  19. System.out.println(c("一"));
  20. System.out.println(c("二"));
  21. System.out.println(c("三"));
  22. System.out.println(c("四"));
  23. System.out.println(c("五"));
  24. System.out.println(c("六"));
  25. System.out.println(c("七"));
  26. System.out.println(c("八"));
  27. System.out.println(c("九"));
  28. System.out.println(c("十"));
  29. System.out.println(c("十一"));
  30. System.out.println(c("二十四"));
  31. System.out.println(c("八十三"));
  32. System.out.println(c("九十"));
  33. System.out.println(c("一百"));
  34. System.out.println(c("二百三十一"));
  35. System.out.println(c("八百零三"));
  36. System.out.println(c("九百九十九"));
  37. }
  38. }
Success #stdin #stdout 0.05s 711168KB
stdin
Standard input is empty
stdout
1
2
3
4
5
6
7
8
9
10
11
24
83
90
100
231
803
999