import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 // while (in.hasNextInt()) { // 注意 while 处理多个 case // int a = in.nextInt(); // int b = in.nextInt(); // System.out.println(a + b); // } long n = in.nextLong(); String[] strs = {"one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"}; String num = ""; int count = 0; while (n != 0) { String str = ""; int t = (int)(n % 1000); n /= 1000; int hundred = t / 100; int ten = t % 100; str = getSubStr(t, hundred, ten, strs); if (count == 1) { str = str + " " + "thousand "; } else if (count == 2) { str = str + " " + "million "; } num = str + num; count++; } System.out.print(num); } private static String getSubStr(int thousand, int hundred, int ten, String[] strs) { String str = ""; if (thousand % 100 == 0) { return strs[thousand / 100 - 1] + " " + "hundred "; } if (ten < 20) { str = strs[ten - 1]; } else if (ten >= 20) { if (ten % 10 == 0) { str = strs[ten / 10 + 17]; } else { str = strs[ten / 10 + 17] + " " + strs[ten % 10 - 1]; } } if (hundred != 0) { str = strs[hundred - 1] + " " + "hundred " + "and " + str; } return str; } }