目录
1.猜年龄(填空题)
public static void main(String[] args) {
for(int i=1;i<100;i++)
{
int f=i*i*i;
if((f+"").length()!=4) continue;
f*=i;
if((f+"").length()==6)
{
System.out.println(i+"\t"+i*i*i+"\t"+i*i*i*i);
}
}
}
结果:
18 5832 104976
19 6859 130321
20 8000 160000
21 9261 194481
然后看一看那个是符合题意的即可(18)
2. 罗马数字
package test;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;
public class Main
{
public static Map<Character,Integer>map=new LinkedHashMap<>();
public static void main(String[] args)
{
// map.put("I",1);
// map.put("V",5);
// map.put("X",10);
// map.put("L", 50);
// map.put("C", 100);
// map.put("D", 500);
// map.put("M",1000);
map.put('I',1);
map.put('V',5);
map.put('X',10);
map.put('L', 50);
map.put('C', 100);
map.put('D', 500);
map.put('M',1000);
Scanner cin=new Scanner(System.in);
int num=cin.nextInt();
for(int i=0;i<num;i++)
{
String s=cin.next();
int sum=0;
for(int j=0;j<s.length();j++)
{
sum+=map.get(s.charAt(j));
if(j>0&&(map.get(s.charAt(j))>map.get(s.charAt(j-1))))
{
sum-=2*map.get(s.charAt(j-1));
}
}
System.out.println(sum);
}
}
}