Project Euler-Problem 38

November 1, 2011
By

(This article was first published on YGC » R, and kindly contributed to R-bloggers)

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?

?View Code RSPLUS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
maxP <- 1
for (i in 1:9999) {
    p <- i
    for (j in 2:9) {
        product <- i * j
        p <- paste(p, product, sep="")
        if (nchar(p)== 9) {
            tmp <- unlist(strsplit(p, split=""))
            if (any(tmp == "0"))
                break
            if (length(unique(tmp)) == length(tmp)) {
                if ( p > maxP) {
                    maxP <- p
                    cat (i ,"\t", j ,"\t", p, "\n")
                }
            }
        } else if (nchar(p) > 9) {
            break
        }
    }
}

Related Posts

To leave a comment for the author, please follow the link and comment on his blog: YGC » R.

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...



If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.