Project Euler – Problem 36

Problem 36: Find the sum of all numbers less than one million, which are palindromic in base 10 and base 2.


class runner
{
	public static boolean palin_base10(int y){
		int number = y, temp, reversedNumber = 0;
		while(number > 0){
			temp = number % 10;
			number = number / 10;
			reversedNumber = reversedNumber * 10 + temp;
		}
		return y == reversedNumber;
	}

	//limited by 1 million
	static int[] two_arr = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288};
	public static boolean palin_base2(int y){
		boolean[] arr = new boolean[two_arr.length];
		int z = y; int start=0;
		for(int m=two_arr.length-1;m>-1;m--){
			if(z>=two_arr[m]){
				if(start-1; i--){
			if(arr[i] == arr[start-i]){
			}else{return false;}
		}
		
		return true;
	}

	public static void main (String[] args) throws java.lang.Exception
	{
		long time = System.currentTimeMillis();
		int sum = 0;
		for(int i=1;i<1000000 +1;i+=2){
			if(palin_base10(i) && palin_base2(i)){
				sum+=i;
			}
		}
		System.out.println(sum);

		System.out.println("time: "+(System.currentTimeMillis() - time));
	}
}