Euler Problem 38

Take the number 192 and multiply it by each of 1, 2, and 3:

192 × 1 = 192
192 × 2 = 384
192 × 3 = 576

By concatenating each product we get the 1 to 9 pandigital, 192384576. We will call 192384576 the concatenated product of 192 and (1,2,3)

The same can be achieved by starting with 9 and multiplying by 1, 2, 3, 4, and 5, giving the pandigital, 918273645, which is the concatenated product of 9 and (1,2,3,4,5).

What is the largest 1 to 9 pandigital 9-digit number that can be formed as the concatenated product of an integer with (1,2, … , n) where n > 1?

This one was easier than it sounded. Just created a list of all the concatenated products. Then filtered the list for pandigital numbers. The highest one was the winner.

import java.util.*;

public class Euler38
{
    public static void main(String[] args)
    {
        System.out.format(“Problem 38:\n”);
        Euler38 e = new Euler38();
        System.out.format(“Answer = %s\n”, e.Problem());
    }
    public String Problem ()
    {
        ArrayList<String> list = new ArrayList<String>();
        ArrayList<String> list2 = new ArrayList<String>();
        String[] digits = {“1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9”};
        for (int i = 9; i <= 1000000; i++)
        {
            String S = “”;
            for (int n = 1; n <= 100; n++)
            {
                if (S.length() < 9)
                    S += i*n;
                if (S.contains(“0”))
                    break;
                if (S.length() == 9)
                    list.add(S);
                if (S.length() > 9)
                    break;
            }
        }
        for (String n: list)
        {
            boolean flag = true;
            for (String d: digits)
            {
                if (n.contains(d))
                    if (n.replace(d,””).length() != 8)
                        flag = false;
            }
            if (flag)
                list2.add(n);
        }
        Collections.sort(list2);
        return String.valueOf(list2.get(list2.size()-1));
    }
}

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s