Thursday, 20 February 2014

UVA Problem ID 343 (What Base Is This?)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Main{
	public static void main (String args[]) throws IOException
	{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String input;
		StringBuilder sb=new StringBuilder(10000);
		while((input=br.readLine())!=null)
		{
			boolean flag=true;
			
			String numbers[]=input.trim().split(" +");
			for (int i = 2; i < 37; i++) {
				for (int j = 2; j < 37; j++) {
					
					try {//System.out.println(numbers[0].trim()+"  "+Integer.parseInt(numbers[0].trim(),i)+" (base "+i+")"+"____"+numbers[1].trim()+"  "+Integer.parseInt(numbers[1].trim(),j)+" (base "+j+")");
						if(Integer.parseInt(numbers[0].trim(),i)==Integer.parseInt(numbers[1].trim(),j))
						{
							sb.append(numbers[0].trim()+" (base "+i+") = "+numbers[1].trim()+" (base "+j+")");
							sb.append("\n");
							i=38;j=38;flag=false;
						}
					} catch (Exception e) {
						continue;
					}
				}
			}
			if(flag)
			{
				sb.append(numbers[0].trim()+" is not equal to "+numbers[1].trim()+" in any base 2..36");
				sb.append("\n");
			}
		}
		System.out.print(sb);
	}
}

Previous Post
Next Post

0 comments:

Advertisement