{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "from PIL import Image\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "im = Image.open('taiwan.png')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "arr = np.array(im.convert('L').resize((87,34)))" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1111111111111111111111111111111111111\n", "1111111111111111111111111111111111111\n", "1111111111111111111111111000011111111\n", "1111111111111111111111100000000011111\n", "1111111111111111111000000000000000011\n", "1111111111111111000000000000000000111\n", "1111111111111110000000000000000000111\n", "1111111111111100000000000000000000111\n", "1111111111110000000000000000000000111\n", "1111111111000000000000000000000000111\n", "1111111111000000000000000000000011111\n", "1111111110000000000000000000000111111\n", "1111111000000000000000000000000111111\n", "1111110000000000000000000000000011111\n", "1111000000000000000000000000000111111\n", "1100000000000000000000000000001111111\n", "1100000000000000000000000000001111111\n", "1100000000000000000000000000011111111\n", "1100000000000000000000000000011111111\n", "1100000000000000000000000000111111111\n", "1000000000000000000000000001111111111\n", "1000000000000000000000000111111111111\n", "1110000000000000000000001111111111111\n", "1111100000000000000000111111111111111\n", "1111100000000000000011111111111111111\n", "1111111000000000000111111111111111111\n", "1111111110000000000111111111111111111\n", "1111111111110000001111111111111111111\n", "1111111111111000001111111111111111111\n", "1111111111111100001111111111111111111\n", "1111111111111100000111111111111111111\n", "1111111111111111111111111111111111111\n", "1111111111111111111111111111111111111\n" ] } ], "source": [ "s = \"\"\n", "for i in range(0,arr.shape[0]-1):\n", " s0 = \"\".join(\"0\" if x else \"1\" for x in arr[i][25:-25]>5)\n", " s +=s0\n", " print(s0)\n", " W=len(s0)\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "import gmpy2" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n = int(s, 2)\n", "n = n+1-n%2\n", "gmpy2.is_prime(n)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1118\n", "36109768628918289680181237269982326836315074390373762690444804688288262200027575252299763365131812306962690821804162221273208578541930369442412178452513756440140615861198776649031195773677731825752932990810189456101069051485444236446603538346051632222803884808461872785387210706073401343398461887943541836836797791233492039274922571561154870557915420355535324418408447\n" ] } ], "source": [ "for i in range(len(s)-2,0,-1):\n", " if s[len(s)-1-i-1]!=s[len(s)-1-i+1]: # try to change edge only(if not working, comment this line and try again)\n", " p = n^(1<