non vorrei lavorare

昔はおもにプログラミングやガジェット系、今は?

Nが現れる素数をJuliaでやってみた

この記事は@kjunichiの2017年パーソナルアドベントカレンダーの1日目の記事です 。

integers.hatenablog.com

これはすごい、どうやってるんだと、パッと見は思った。

swdrsker.hatenablog.com

を読んで、なんとなくJulia言語で試してたくなり、やってみた。

Pkg.add("Primes")
using Primes
cnt=0
isPrime=false
for a in 1:9
    #println("a =", a)
    for b in 0:9      
        for c in 0:9
            for d in 0:9    
                for ee in 0:9
                    for f in 0:9                                   
                        for g in 0:9
                            for h in 0:9                                               
                                for i in [1,3,5,7,9]
                                    str5 =
                                    "ABC000000000000000"*
                                    "005555555555555500"*
                                    "005555555555555500"*
                                    "005555000000000000"*
                                    "005555000000000000"*
                                    "000555555555500000"*
                                    "000555555555555000"*
                                    "000000000000555500"*
                                    "000000000000555500"*
                                    "005555555555555000"*
                                    "005555555555000000"*
                                    "DEF000000000000GHI"
                                    str5=replace(str5,"A",a)
                                    str5 = replace(str5, "B",b)
                                    str5 = replace(str5, "C",c)
                                    str5 = replace(str5, "D",d)
                                    str5 = replace(str5, "E",ee)
                                    str5 = replace(str5, "F",f)
                                    str5 = replace(str5, "G",g)
                                    str5 = replace(str5, "H",h)
                                    str5 = replace(str5, "A",a)
                                    str5 = replace(str5, "I",i)
                                    if isprime(parse(BigInt,str5))
                                        #println(a,b,c,d,ee,f,g,h,i)
                                        println(str5)
                                        isPrime=true
                                        break
                                    end
                                    cnt=cnt+1
                                end
                                if isPrime 
                                    break
                                end
                            end
                            if isPrime 
                                break
                            end
                        end
                        if isPrime 
                            break
                        end
                    end
                    if isPrime 
                         break
                    end
                end
                if isPrime 
                    break
                end
            end
            if isPrime 
                break
            end
        end
        if isPrime 
            break
        end
    end
    if isPrime 
        break
    end
end
#println(cnt)
100000000000000000
005555555555555500
005555555555555500
005555000000000000
005555000000000000
000555555555500000
000555555555555000
000000000000555500
000000000000555500
005555555555555000
005555555555000000
000000000000000437

関連記事

3年前の記事

2年前の記事

1年前の記事