1.罗马数字逆向解法
输入一个1到4000不包含4000的整数,将其转换成罗马数字
罗马数字规则:
I(1)、V(5)、X(10)、L(50)、C(100)、D(500)、 M(1000))
但特殊的是,每一位的四和九是特殊的:
4:IV 9: IX 40: XL 90: XC 400: CD 900 : CM
不难发现其实就是后面的减去前面的
然后通过
num / 1000;
num % 1000 / 100;
num % 100 / 10;
num /1000;
分别求出千位,百位,十位,个位的数。
最后通过枚举得出结论
代码如下:
import java.util.*;
public class Test1
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("请输入一个介于0-4000的整数");
int num = input.nextInt();
System.out.println(NumTORoman(num));
}
public static String NumTORoman(int num)
{
int a = num / 1000;
int b = num % 1000 / 100