{"id":5158,"date":"2018-01-28T00:18:14","date_gmt":"2018-01-27T17:18:14","guid":{"rendered":"http:\/\/witpoko.com\/?p=5158"},"modified":"2018-01-29T10:28:06","modified_gmt":"2018-01-29T03:28:06","slug":"%e0%b8%a7%e0%b8%b2%e0%b8%94%e0%b8%a0%e0%b8%b2%e0%b8%9e%e0%b8%82%e0%b8%b2%e0%b8%a7%e0%b8%94%e0%b8%b3%e0%b9%83%e0%b8%ab%e0%b9%89%e0%b9%80%e0%b8%9b%e0%b9%87%e0%b8%99%e0%b8%88%e0%b8%b3%e0%b8%99%e0%b8%a7","status":"publish","type":"post","link":"https:\/\/witpoko.com\/?p=5158","title":{"rendered":"\u0e27\u0e32\u0e14\u0e20\u0e32\u0e1e\u0e02\u0e32\u0e27\u0e14\u0e33\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30"},"content":{"rendered":"<p>\u0e1c\u0e21\u0e44\u0e1b\u0e40\u0e2b\u0e47\u0e19<a href=\"https:\/\/www.reddit.com\/r\/math\/comments\/7qpfls\/does_there_exist_a_prime_number_whose\/\">\u0e42\u0e1e\u0e2a\u0e15\u0e4c\u0e15\u0e25\u0e01\u0e46\u0e43\u0e19 Reddit<\/a> \u0e21\u0e32 \u0e01\u0e32\u0e23\u0e4c\u0e15\u0e39\u0e19\u0e1a\u0e2d\u0e01\u0e27\u0e48\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e2d\u0e32\u0e15\u0e31\u0e27\u0e40\u0e25\u0e02 0 \u0e41\u0e25\u0e30 1 \u0e21\u0e32\u0e40\u0e23\u0e35\u0e22\u0e07\u0e01\u0e31\u0e19\u0e1a\u0e19\u0e08\u0e2d\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e23\u0e39\u0e1b\u0e22\u0e35\u0e23\u0e32\u0e1f\u0e41\u0e25\u0e30\u0e40\u0e25\u0e02 0 \u0e41\u0e25\u0e30 1 \u0e17\u0e35\u0e48\u0e40\u0e23\u0e35\u0e22\u0e07\u0e01\u0e31\u0e19\u0e19\u0e31\u0e49\u0e19\u0e16\u0e49\u0e32\u0e15\u0e35\u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e40\u0e25\u0e02\u0e10\u0e32\u0e19\u0e2a\u0e2d\u0e07\u0e41\u0e25\u0e49\u0e27 \u0e21\u0e31\u0e19\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e25\u0e02\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e2d\u0e35\u0e01\u0e14\u0e49\u0e27\u0e22\u00a0(<a href=\"https:\/\/th.wikipedia.org\/wiki\/\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\">\u0e40\u0e25\u0e02\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30<\/a>\u0e04\u0e37\u0e2d\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e15\u0e47\u0e21\u0e1a\u0e27\u0e01\u0e17\u0e35\u0e48\u0e21\u0e35\u0e15\u0e31\u0e27\u0e2b\u0e32\u0e23\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e1a\u0e27\u0e01\u0e41\u0e04\u0e48 1 \u0e41\u0e25\u0e30\u0e15\u0e31\u0e27\u0e21\u0e31\u0e19\u0e40\u0e2d\u0e07)<\/p>\n<figure id=\"attachment_5177\" aria-describedby=\"caption-attachment-5177\" style=\"width: 768px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.reddit.com\/r\/math\/comments\/7qpfls\/does_there_exist_a_prime_number_whose\/\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"5177\" data-permalink=\"https:\/\/witpoko.com\/?attachment_id=5177\" data-orig-file=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/26903793_10155028531896174_5622083582013840471_n.jpg?fit=768%2C771&amp;ssl=1\" data-orig-size=\"768,771\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"26903793_10155028531896174_5622083582013840471_n\" data-image-description=\"&lt;p&gt;\u0e20\u0e32\u0e1e\u0e01\u0e32\u0e23\u0e4c\u0e15\u0e39\u0e19\u0e08\u0e32\u0e01 https:\/\/www.reddit.com\/r\/math\/comments\/7qpfls\/does_there_exist_a_prime_number_whose\/ \u0e04\u0e23\u0e31\u0e1a&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;\u0e20\u0e32\u0e1e\u0e01\u0e32\u0e23\u0e4c\u0e15\u0e39\u0e19\u0e08\u0e32\u0e01 https:\/\/www.reddit.com\/r\/math\/comments\/7qpfls\/does_there_exist_a_prime_number_whose\/ \u0e04\u0e23\u0e31\u0e1a&lt;\/p&gt;\n\" data-large-file=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/26903793_10155028531896174_5622083582013840471_n.jpg?fit=768%2C771&amp;ssl=1\" class=\"wp-image-5177 size-full\" src=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/26903793_10155028531896174_5622083582013840471_n.jpg?resize=768%2C771\" alt=\"\u0e20\u0e32\u0e1e\u0e01\u0e32\u0e23\u0e4c\u0e15\u0e39\u0e19\u0e08\u0e32\u0e01 https:\/\/www.reddit.com\/r\/math\/comments\/7qpfls\/does_there_exist_a_prime_number_whose\/ \u0e04\u0e23\u0e31\u0e1a\" width=\"768\" height=\"771\" srcset=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/26903793_10155028531896174_5622083582013840471_n.jpg?w=768&amp;ssl=1 768w, https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/26903793_10155028531896174_5622083582013840471_n.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/26903793_10155028531896174_5622083582013840471_n.jpg?resize=300%2C300&amp;ssl=1 300w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/a><figcaption id=\"caption-attachment-5177\" class=\"wp-caption-text\">\u0e20\u0e32\u0e1e\u0e01\u0e32\u0e23\u0e4c\u0e15\u0e39\u0e19\u0e08\u0e32\u0e01 https:\/\/www.reddit.com\/r\/math\/comments\/7qpfls\/does_there_exist_a_prime_number_whose\/ \u0e04\u0e23\u0e31\u0e1a<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>\u0e43\u0e15\u0e49\u0e01\u0e32\u0e23\u0e4c\u0e15\u0e39\u0e19\u0e21\u0e35\u0e04\u0e19\u0e17\u0e33\u0e23\u0e39\u0e1b\u0e22\u0e35\u0e23\u0e32\u0e1f\u0e17\u0e35\u0e48\u0e27\u0e32\u0e14\u0e14\u0e49\u0e27\u0e22 0 \u00a0\u0e41\u0e25\u0e30 \u00a01 \u0e40\u0e23\u0e35\u0e22\u0e07\u0e01\u0e31\u0e19 4096 \u0e15\u0e31\u0e27 \u0e0b\u0e36\u0e48\u0e07\u0e16\u0e49\u0e32\u0e21\u0e2d\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e25\u0e02\u0e10\u0e32\u0e19\u0e2a\u0e2d\u0e07\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e14\u0e49\u0e27\u0e22\u0e04\u0e23\u0e31\u0e1a:<\/p>\n<figure id=\"attachment_5178\" aria-describedby=\"caption-attachment-5178\" style=\"width: 474px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/26952598_10155028531936174_8874090409813015449_o.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"5178\" data-permalink=\"https:\/\/witpoko.com\/?attachment_id=5178\" data-orig-file=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/26952598_10155028531936174_8874090409813015449_o.jpg?fit=1122%2C1626&amp;ssl=1\" data-orig-size=\"1122,1626\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"26952598_10155028531936174_8874090409813015449_o\" data-image-description=\"&lt;p&gt;\u0e20\u0e32\u0e1e\u0e22\u0e35\u0e23\u0e32\u0e1f\u0e27\u0e32\u0e14\u0e14\u0e49\u0e27\u0e22 0 \u0e41\u0e25\u0e30 1&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;\u0e20\u0e32\u0e1e\u0e22\u0e35\u0e23\u0e32\u0e1f\u0e27\u0e32\u0e14\u0e14\u0e49\u0e27\u0e22 0 \u0e41\u0e25\u0e30 1&lt;\/p&gt;\n\" data-large-file=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/26952598_10155028531936174_8874090409813015449_o.jpg?fit=707%2C1024&amp;ssl=1\" class=\"wp-image-5178 size-large\" src=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/26952598_10155028531936174_8874090409813015449_o-707x1024.jpg?resize=474%2C687\" alt=\"\u0e20\u0e32\u0e1e\u0e22\u0e35\u0e23\u0e32\u0e1f\u0e27\u0e32\u0e14\u0e14\u0e49\u0e27\u0e22 0 \u0e41\u0e25\u0e30 1\" width=\"474\" height=\"687\" srcset=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/26952598_10155028531936174_8874090409813015449_o.jpg?resize=707%2C1024&amp;ssl=1 707w, https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/26952598_10155028531936174_8874090409813015449_o.jpg?resize=207%2C300&amp;ssl=1 207w, https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/26952598_10155028531936174_8874090409813015449_o.jpg?resize=768%2C1113&amp;ssl=1 768w, https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/26952598_10155028531936174_8874090409813015449_o.jpg?w=1122&amp;ssl=1 1122w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><figcaption id=\"caption-attachment-5178\" class=\"wp-caption-text\">\u0e20\u0e32\u0e1e\u0e22\u0e35\u0e23\u0e32\u0e1f\u0e27\u0e32\u0e14\u0e14\u0e49\u0e27\u0e22 0 \u0e41\u0e25\u0e30 1<\/figcaption><\/figure>\n<p>\u0e16\u0e49\u0e32\u0e40\u0e23\u0e32\u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e17\u0e35\u0e48\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e20\u0e32\u0e1e\u0e22\u0e35\u0e23\u0e32\u0e1f\u0e08\u0e30\u0e40\u0e2b\u0e47\u0e19\u0e27\u0e48\u0e32\u0e21\u0e31\u0e19\u0e44\u0e21\u0e48\u0e40\u0e1b\u0e47\u0e19 0 \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 \u0e17\u0e33\u0e43\u0e2b\u0e49\u0e19\u0e48\u0e32\u0e2a\u0e07\u0e2a\u0e31\u0e22\u0e27\u0e48\u0e32\u0e04\u0e19\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e20\u0e32\u0e1e\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e04\u0e48\u0e32 0 \u0e1a\u0e32\u0e07\u0e15\u0e31\u0e27\u0e40\u0e1b\u0e47\u0e19 1 \u0e08\u0e19\u0e01\u0e23\u0e30\u0e17\u0e31\u0e48\u0e07\u0e17\u0e31\u0e49\u0e07\u0e20\u0e32\u0e1e\u0e01\u0e25\u0e32\u0e22\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u00a0\u0e1c\u0e21\u0e01\u0e47\u0e40\u0e25\u0e22\u0e04\u0e34\u0e14\u0e2a\u0e07\u0e2a\u0e31\u0e22\u0e27\u0e48\u0e32\u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e23\u0e39\u0e1b\u0e02\u0e32\u0e27\u0e14\u0e33\u0e2d\u0e30\u0e44\u0e23\u0e01\u0e47\u0e44\u0e14\u0e49\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e41\u0e1a\u0e1a\u0e19\u0e35\u0e49\u0e44\u0e14\u0e49\u0e44\u0e2b\u0e21\u00a0<\/p>\n<p>\u0e01\u0e48\u0e2d\u0e19\u0e2d\u0e37\u0e48\u0e19\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e2b\u0e32\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e27\u0e48\u0e32\u0e40\u0e25\u0e02\u0e10\u0e32\u0e19\u0e2a\u0e2d\u0e07\u0e22\u0e32\u0e27\u0e46\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48\u0e01\u0e48\u0e2d\u0e19 \u0e16\u0e49\u0e32\u0e40\u0e23\u0e32\u0e43\u0e0a\u0e49\u0e20\u0e32\u0e29\u0e32\u0e44\u0e1e\u0e18\u0e2d\u0e19 \u0e41\u0e25\u0e49\u0e27\u0e40\u0e23\u0e32\u0e21\u0e35\u0e2a\u0e15\u0e23\u0e34\u0e07\u0e0a\u0e37\u0e48\u0e2d x \u0e17\u0e35\u0e48\u0e21\u0e35\u0e40\u0e25\u0e02 0\/1 \u0e40\u0e23\u0e35\u0e22\u0e07\u0e01\u0e31\u0e19\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e25\u0e02\u0e10\u0e32\u0e19\u0e2a\u0e2d\u0e07\u0e40\u0e23\u0e32\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 int(x,2) \u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e40\u0e1b\u0e47\u0e19\u0e04\u0e48\u0e32\u0e15\u0e31\u0e27\u0e40\u0e25\u0e02\u0e44\u0e14\u0e49 \u0e41\u0e25\u0e49\u0e27\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 gmpy2.is_prime(num) \u0e21\u0e32\u0e15\u0e23\u0e27\u0e08\u0e27\u0e48\u0e32\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e1b\u0e25\u0e48\u0e32\u00a0<\/p>\n<pre>\n\n<div class=\"codecolorer-container python default\" style=\"overflow:auto;white-space:nowrap;width:435px;\"><div class=\"python codecolorer\">x <span class=\"sy0\">=<\/span> <span class=\"st0\">&quot;0100011&quot;<\/span><br \/>\nnum <span class=\"sy0\">=<\/span> <span class=\"kw2\">int<\/span><span class=\"br0\">&#40;<\/span>x<span class=\"sy0\">,<\/span><span class=\"nu0\">2<\/span><span class=\"br0\">&#41;<\/span> <span class=\"co1\">#num = 35<\/span><br \/>\ngmpy2.<span class=\"me1\">is_prime<\/span><span class=\"br0\">&#40;<\/span>num<span class=\"br0\">&#41;<\/span> <span class=\"co1\">#False \u0e40\u0e1e\u0e23\u0e32\u0e30 35 = 1x5x7<\/span><br \/>\n<br \/>\ny <span class=\"sy0\">=<\/span> <span class=\"st0\">'0100101'<\/span><br \/>\nnum <span class=\"sy0\">=<\/span> <span class=\"kw2\">int<\/span><span class=\"br0\">&#40;<\/span>x<span class=\"sy0\">,<\/span><span class=\"nu0\">2<\/span><span class=\"br0\">&#41;<\/span> <span class=\"co1\">#num = 37<\/span><br \/>\ngmpy2.<span class=\"me1\">is_prime<\/span><span class=\"br0\">&#40;<\/span>num<span class=\"br0\">&#41;<\/span> <span class=\"co1\">#True \u0e40\u0e1e\u0e23\u0e32\u0e30 37 = 1x37<\/span><\/div><\/div>\n\n<\/pre>\n<p>\u0e40\u0e27\u0e25\u0e32\u0e15\u0e31\u0e27\u0e40\u0e25\u0e02\u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32\u0e21\u0e35\u0e02\u0e19\u0e32\u0e14\u0e44\u0e21\u0e48\u0e43\u0e2b\u0e0d\u0e48\u0e19\u0e31\u0e01 \u0e21\u0e35\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e2b\u0e25\u0e31\u0e01 \u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e14\u0e25\u0e2d\u0e07\u0e2b\u0e32\u0e15\u0e31\u0e27\u0e2b\u0e32\u0e23\u0e44\u0e1b\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e22\u0e46\u0e44\u0e14\u0e49 \u0e41\u0e15\u0e48\u0e16\u0e49\u0e32\u0e15\u0e31\u0e27\u0e40\u0e25\u0e02\u0e43\u0e2b\u0e0d\u0e48\u0e21\u0e35\u0e40\u0e1b\u0e47\u0e19\u0e23\u0e49\u0e2d\u0e22\u0e40\u0e1b\u0e47\u0e19\u0e1e\u0e31\u0e19\u0e2b\u0e25\u0e31\u0e01 \u0e40\u0e23\u0e32\u0e08\u0e30\u0e25\u0e2d\u0e07\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e19\u0e31\u0e49\u0e19\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e40\u0e1e\u0e23\u0e32\u0e30\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e40\u0e27\u0e25\u0e32\u0e21\u0e32\u0e01\u0e40\u0e01\u0e34\u0e19\u0e44\u0e1b \u0e04\u0e27\u0e32\u0e21\u0e27\u0e34\u0e40\u0e28\u0e29\u0e02\u0e2d\u0e07 gmpy2.is_prime( ) \u0e01\u0e47\u0e04\u0e37\u0e2d\u0e21\u0e31\u0e19\u0e43\u0e0a\u0e49\u0e40\u0e17\u0e04\u0e19\u0e34\u0e04 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Miller\u2013Rabin_primality_test\">Miller-Rabin<\/a> \u0e17\u0e35\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2b\u0e25\u0e32\u0e22\u0e46\u0e1e\u0e31\u0e19\u0e2b\u0e25\u0e31\u0e01\u0e44\u0e14\u0e49\u0e14\u0e49\u0e27\u0e22\u0e27\u0e34\u0e18\u0e35\u0e2a\u0e38\u0e48\u0e21 \u0e42\u0e14\u0e22\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e25\u0e14\u0e04\u0e27\u0e32\u0e21\u0e19\u0e48\u0e32\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e17\u0e35\u0e48\u0e21\u0e31\u0e19\u0e08\u0e30\u0e15\u0e2d\u0e1a\u0e1c\u0e34\u0e14\u0e27\u0e48\u0e32\u0e15\u0e31\u0e27\u0e40\u0e25\u0e02\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e17\u0e31\u0e49\u0e07\u0e46\u0e17\u0e35\u0e48\u0e44\u0e21\u0e48\u0e43\u0e0a\u0e48\u0e43\u0e2b\u0e49\u0e21\u0e35\u0e04\u0e48\u0e32\u0e19\u0e49\u0e2d\u0e22\u0e46\u0e43\u0e01\u0e25\u0e49\u0e28\u0e39\u0e19\u0e22\u0e4c\u0e44\u0e14\u0e49\u0e15\u0e32\u0e21\u0e43\u0e08\u00a0<\/p>\n<p>\u0e1e\u0e2d\u0e40\u0e23\u0e32\u0e23\u0e39\u0e49\u0e27\u0e34\u0e18\u0e35\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e02\u0e19\u0e32\u0e14\u0e43\u0e2b\u0e0d\u0e48\u0e46\u0e44\u0e14\u0e49\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e23\u0e32\u0e01\u0e47\u0e41\u0e04\u0e48\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e43\u0e2b\u0e49\u0e2d\u0e48\u0e32\u0e19\u0e20\u0e32\u0e1e\u0e40\u0e02\u0e49\u0e32\u0e21\u0e32\u0e41\u0e25\u0e49\u0e27\u0e41\u0e1b\u0e25\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e20\u0e32\u0e1e\u0e02\u0e32\u0e27\u0e14\u0e33 \u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e2a\u0e35\u0e14\u0e33\u0e40\u0e1b\u0e47\u0e19 0 \u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e2a\u0e35\u0e02\u0e32\u0e27\u0e40\u0e1b\u0e47\u0e19 1\u00a0<\/p>\n<p>\u0e42\u0e04\u0e49\u0e14\u0e2a\u0e48\u0e27\u0e19\u0e19\u0e35\u0e49\u0e2d\u0e48\u0e32\u0e19\u0e20\u0e32\u0e1e\u0e40\u0e02\u0e49\u0e32\u0e21\u0e32\u0e41\u0e25\u0e49\u0e27\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e02\u0e19\u0e32\u0e14\u0e44\u0e21\u0e48\u0e43\u0e2b\u0e0d\u0e48\u0e40\u0e01\u0e34\u0e19\u0e44\u0e1b:<\/p>\n<pre>\n\n<div class=\"codecolorer-container python default\" style=\"overflow:auto;white-space:nowrap;width:435px;height:300px;\"><div class=\"python codecolorer\"><span class=\"kw1\">def<\/span> scale_image<span class=\"br0\">&#40;<\/span><span class=\"kw2\">file<\/span><span class=\"sy0\">,<\/span> size <span class=\"sy0\">=<\/span> <span class=\"nu0\">64<\/span><span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; <span class=\"st0\">&quot;&quot;&quot;<br \/>\n&nbsp; &nbsp; Read an image file, change it to grayscale (0-255), <br \/>\n&nbsp; &nbsp; and scale it so that its dimension is at most size x size,<br \/>\n&nbsp; &nbsp; keeping the image's aspect ratio.<br \/>\n&nbsp; &nbsp; &quot;&quot;&quot;<\/span><br \/>\n&nbsp; &nbsp; im <span class=\"sy0\">=<\/span> PIL.<span class=\"me1\">Image<\/span>.<span class=\"kw2\">open<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw2\">file<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; im <span class=\"sy0\">=<\/span> im.<span class=\"me1\">convert<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">'L'<\/span><span class=\"br0\">&#41;<\/span> <span class=\"co1\">#change image to grayscale (0 to 255)<\/span><br \/>\n&nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; width<span class=\"sy0\">,<\/span> height <span class=\"sy0\">=<\/span> im.<span class=\"me1\">size<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> width <span class=\"sy0\">&gt;<\/span> height:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; max_size <span class=\"sy0\">=<\/span> width<br \/>\n&nbsp; &nbsp; <span class=\"kw1\">else<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; max_size <span class=\"sy0\">=<\/span> height<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; scale_factor <span class=\"sy0\">=<\/span> size\/max_size<br \/>\n&nbsp; &nbsp; new_width <span class=\"sy0\">=<\/span> <span class=\"kw2\">int<\/span><span class=\"br0\">&#40;<\/span>scale_factor*width<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; new_height <span class=\"sy0\">=<\/span> <span class=\"kw2\">int<\/span><span class=\"br0\">&#40;<\/span>scale_factor*height<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; im <span class=\"sy0\">=<\/span> im.<span class=\"me1\">resize<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#40;<\/span>new_width<span class=\"sy0\">,<\/span> new_height<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> im<\/div><\/div>\n\n<\/pre>\n<p>\u0e2a\u0e48\u0e27\u0e19\u0e19\u0e35\u0e49\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e20\u0e32\u0e1e\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e15\u0e23\u0e34\u0e07 0\/1<\/p>\n<pre>\n\n<div class=\"codecolorer-container python default\" style=\"overflow:auto;white-space:nowrap;width:435px;\"><div class=\"python codecolorer\"><span class=\"kw1\">def<\/span> image_to_binary<span class=\"br0\">&#40;<\/span>image<span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; <span class=\"st0\">&quot;&quot;&quot;<br \/>\n&nbsp; &nbsp; Convert a grayscale (0-255) image to its binary string representation.<br \/>\n&nbsp; &nbsp; Change the last pixel to 1 to make it a prime number more easily.<br \/>\n&nbsp; &nbsp; &quot;&quot;&quot;<\/span><br \/>\n&nbsp; &nbsp; width<span class=\"sy0\">,<\/span> height <span class=\"sy0\">=<\/span> image.<span class=\"me1\">size<\/span><br \/>\n&nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; pixels <span class=\"sy0\">=<\/span> np.<span class=\"me1\">asarray<\/span><span class=\"br0\">&#40;<\/span>image<span class=\"br0\">&#41;<\/span> <span class=\"co1\">#store pixel value in numpy array<\/span><br \/>\n&nbsp; &nbsp; binary_pixels <span class=\"sy0\">=<\/span> <span class=\"br0\">&#40;<\/span>pixels <span class=\"sy0\">&gt;<\/span> <span class=\"nu0\">128<\/span><span class=\"br0\">&#41;<\/span>.<span class=\"me1\">astype<\/span><span class=\"br0\">&#40;<\/span>np.<span class=\"kw2\">int<\/span><span class=\"br0\">&#41;<\/span> <span class=\"co1\">#low values go to 0, high values go to 1<\/span><br \/>\n&nbsp; &nbsp; binary_pixels<span class=\"br0\">&#91;<\/span><span class=\"br0\">&#40;<\/span>-<span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span>-<span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span> <span class=\"co1\">#make sure last pixel is 1 to make it a prime more easily<\/span><br \/>\n&nbsp; &nbsp; binary_string <span class=\"sy0\">=<\/span> <span class=\"st0\">&quot;&quot;<\/span>.<span class=\"me1\">join<\/span><span class=\"br0\">&#40;<\/span>binary_pixels.<span class=\"me1\">flatten<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span>.<span class=\"me1\">astype<\/span><span class=\"br0\">&#40;<\/span>np.<span class=\"kw2\">str<\/span><span class=\"br0\">&#41;<\/span>.<span class=\"me1\">tolist<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> width<span class=\"sy0\">,<\/span> height<span class=\"sy0\">,<\/span> binary_string <span class=\"co1\">#return width and height along with 1-dimension binary representation<\/span><\/div><\/div>\n\n<\/pre>\n<p>\u0e41\u0e25\u0e49\u0e27\u0e40\u0e23\u0e32\u0e01\u0e47\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e27\u0e48\u0e32\u0e2a\u0e15\u0e23\u0e34\u0e07 0\/1 \u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e14\u0e49\u0e27\u0e22\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e48\u0e19\u0e19\u0e35\u0e49:<\/p>\n<pre>\n\n<div class=\"codecolorer-container python default\" style=\"overflow:auto;white-space:nowrap;width:435px;\"><div class=\"python codecolorer\"><span class=\"kw1\">def<\/span> is_binary_string_prime<span class=\"br0\">&#40;<\/span>x<span class=\"sy0\">,<\/span> n_tests <span class=\"sy0\">=<\/span> <span class=\"nu0\">50<\/span><span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; <span class=\"st0\">&quot;&quot;&quot;<br \/>\n&nbsp; &nbsp; Check if the binary string x is prime using gmpy2's Miller-Rabin<br \/>\n&nbsp; &nbsp; algorithm with n_tests steps.<br \/>\n&nbsp; &nbsp; &quot;&quot;&quot;<\/span><br \/>\n&nbsp; &nbsp; num <span class=\"sy0\">=<\/span> <span class=\"kw2\">int<\/span><span class=\"br0\">&#40;<\/span>x<span class=\"sy0\">,<\/span><span class=\"nu0\">2<\/span><span class=\"br0\">&#41;<\/span> <span class=\"co1\">#convert binary string to decimal number<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> gmpy2.<span class=\"me1\">is_prime<\/span><span class=\"br0\">&#40;<\/span>num<span class=\"sy0\">,<\/span> n_tests<span class=\"br0\">&#41;<\/span><\/div><\/div>\n\n<\/pre>\n<p>\u0e16\u0e49\u0e32\u0e20\u0e32\u0e1e\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30 \u0e40\u0e23\u0e32\u0e01\u0e47\u0e2a\u0e38\u0e48\u0e21\u0e08\u0e38\u0e14\u0e21\u0e32\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e08\u0e38\u0e14 \u0e41\u0e25\u0e49\u0e27\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e40\u0e25\u0e02\u0e15\u0e23\u0e07\u0e19\u0e31\u0e49\u0e19 \u0e16\u0e49\u0e32\u0e40\u0e04\u0e22\u0e40\u0e1b\u0e47\u0e19 0 \u0e01\u0e47\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e40\u0e1b\u0e47\u0e19 1 \u0e16\u0e49\u0e32\u0e40\u0e04\u0e22\u0e40\u0e1b\u0e47\u0e19 1 \u0e01\u0e47\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e40\u0e1b\u0e47\u0e19 0 \u0e41\u0e25\u0e49\u0e27\u0e04\u0e48\u0e2d\u0e22\u0e40\u0e2d\u0e32\u0e44\u0e1b\u0e15\u0e23\u0e27\u0e08\u0e43\u0e2b\u0e21\u0e48\u0e27\u0e48\u0e32\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e44\u0e2b\u0e21 \u0e16\u0e49\u0e32\u0e01\u0e25\u0e32\u0e22\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e20\u0e32\u0e1e\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e01\u0e47\u0e15\u0e48\u0e32\u0e07\u0e08\u0e32\u0e01\u0e20\u0e32\u0e1e\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e40\u0e1e\u0e35\u0e22\u0e07 1 \u0e08\u0e38\u0e14\u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19 \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e48\u0e19\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e40\u0e25\u0e02\u0e01\u0e47\u0e21\u0e35\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e32\u0e41\u0e1a\u0e1a\u0e19\u0e35\u0e49:<\/p>\n<pre>\n\n<div class=\"codecolorer-container python default\" style=\"overflow:auto;white-space:nowrap;width:435px;\"><div class=\"python codecolorer\"><span class=\"kw1\">def<\/span> mutate<span class=\"br0\">&#40;<\/span>x<span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; <span class=\"st0\">&quot;&quot;&quot;<br \/>\n&nbsp; &nbsp; Given a binary string x, flip one random bit and return the result.<br \/>\n&nbsp; &nbsp; &quot;&quot;&quot;<\/span><br \/>\n&nbsp; &nbsp; i <span class=\"sy0\">=<\/span> <span class=\"kw3\">random<\/span>.<span class=\"me1\">randint<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span> <span class=\"kw2\">len<\/span><span class=\"br0\">&#40;<\/span>x<span class=\"br0\">&#41;<\/span>-<span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span> <span class=\"co1\">#location to flip a bit<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> x<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">==<\/span> <span class=\"st0\">'0'<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; flip <span class=\"sy0\">=<\/span> <span class=\"st0\">'1'<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">else<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; flip <span class=\"sy0\">=<\/span> <span class=\"st0\">'0'<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; result <span class=\"sy0\">=<\/span> x<span class=\"br0\">&#91;<\/span>:i<span class=\"br0\">&#93;<\/span> + flip + x<span class=\"br0\">&#91;<\/span>i+<span class=\"nu0\">1<\/span>:<span class=\"br0\">&#93;<\/span> <span class=\"co1\">#copy x to result, except one flipped bit<\/span><br \/>\n&nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> result<\/div><\/div>\n\n<\/pre>\n<p>\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e01\u0e47\u0e04\u0e37\u0e2d\u0e16\u0e49\u0e32\u0e20\u0e32\u0e1e\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30 \u0e40\u0e23\u0e32\u0e08\u0e30\u0e17\u0e33\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e08\u0e38\u0e14 1 \u0e08\u0e38\u0e14\u0e01\u0e35\u0e48\u0e04\u0e23\u0e31\u0e49\u0e07\u0e14\u0e35 \u0e40\u0e23\u0e32\u0e2d\u0e32\u0e28\u0e31\u0e22\u0e04\u0e27\u0e32\u0e21\u0e08\u0e23\u0e34\u0e07\u0e17\u0e35\u0e48\u0e27\u0e48\u0e32\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e17\u0e35\u0e48\u0e19\u0e49\u0e2d\u0e22\u0e01\u0e27\u0e48\u0e32 N \u0e08\u0e30\u0e21\u0e35\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13 N\/Log(N) \u0e15\u0e31\u0e27 \u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19\u0e04\u0e27\u0e32\u0e21\u0e19\u0e48\u0e32\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e2a\u0e38\u0e48\u0e21\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07 1 \u0e16\u0e36\u0e07 N \u0e21\u0e32\u0e41\u0e25\u0e49\u0e27\u0e21\u0e31\u0e19\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e01\u0e47\u0e08\u0e30\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13 1\/Log(N)<\/p>\n<figure id=\"attachment_5184\" aria-describedby=\"caption-attachment-5184\" style=\"width: 474px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2561-01-27-at-22.24.20.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"5184\" data-permalink=\"https:\/\/witpoko.com\/?attachment_id=5184\" data-orig-file=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2561-01-27-at-22.24.20.png?fit=1108%2C748&amp;ssl=1\" data-orig-size=\"1108,748\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Screen Shot 2561-01-27 at 22.24.20\" data-image-description=\"&lt;p&gt;\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e17\u0e35\u0e22\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e02\u0e2d\u0e07\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e17\u0e35\u0e48\u0e44\u0e21\u0e48\u0e40\u0e01\u0e34\u0e19 N \u0e41\u0e25\u0e30 N\/Log(N)&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e17\u0e35\u0e22\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e02\u0e2d\u0e07\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e17\u0e35\u0e48\u0e44\u0e21\u0e48\u0e40\u0e01\u0e34\u0e19 N \u0e41\u0e25\u0e30 N\/Log(N)&lt;\/p&gt;\n\" data-large-file=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2561-01-27-at-22.24.20.png?fit=1024%2C691&amp;ssl=1\" class=\"size-large wp-image-5184\" src=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2561-01-27-at-22.24.20-1024x691.png?resize=474%2C320\" alt=\"\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e17\u0e35\u0e22\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e02\u0e2d\u0e07\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e17\u0e35\u0e48\u0e44\u0e21\u0e48\u0e40\u0e01\u0e34\u0e19 N \u0e41\u0e25\u0e30 N\/Log(N)\" width=\"474\" height=\"320\" srcset=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2561-01-27-at-22.24.20.png?resize=1024%2C691&amp;ssl=1 1024w, https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2561-01-27-at-22.24.20.png?resize=300%2C203&amp;ssl=1 300w, https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2561-01-27-at-22.24.20.png?resize=768%2C518&amp;ssl=1 768w, https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2561-01-27-at-22.24.20.png?w=1108&amp;ssl=1 1108w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><figcaption id=\"caption-attachment-5184\" class=\"wp-caption-text\">\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e17\u0e35\u0e22\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e02\u0e2d\u0e07\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e17\u0e35\u0e48\u0e44\u0e21\u0e48\u0e40\u0e01\u0e34\u0e19 N \u0e41\u0e25\u0e30 N\/Log(N)<\/figcaption><\/figure>\n<p>\u0e16\u0e49\u0e32\u0e20\u0e32\u0e1e\u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32\u0e21\u0e35\u0e08\u0e38\u0e14 0\/1 \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 K \u0e08\u0e38\u0e14 \u0e04\u0e27\u0e32\u0e21\u0e19\u0e48\u0e32\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e17\u0e35\u0e48\u0e21\u0e31\u0e19\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e01\u0e47\u0e08\u0e30\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13 1\/Log(2<sup>K<\/sup>) = 1\/(K Log(2)) = 1.44\/K \u00a0\u0e40\u0e0a\u0e48\u0e19\u0e16\u0e49\u0e32\u0e20\u0e32\u0e1e\u0e21\u0e35\u0e02\u0e19\u0e32\u0e14 64&#215;64 \u0e41\u0e2a\u0e14\u0e07\u0e27\u0e48\u0e32 K = 64&#215;64 = 4096 \u0e41\u0e25\u0e30\u0e04\u0e27\u0e32\u0e21\u0e19\u0e48\u0e32\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e17\u0e35\u0e48\u0e20\u0e32\u0e1e\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e01\u0e47\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13 1.44\/4096 \u0e40\u0e17\u0e48\u0e32\u0e01\u0e31\u0e1a\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13 1\/2800 \u0e41\u0e1b\u0e25\u0e27\u0e48\u0e32\u0e16\u0e49\u0e32\u0e40\u0e23\u0e32\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e25\u0e02\u0e2a\u0e38\u0e48\u0e21\u0e46\u0e21\u0e32\u0e2a\u0e31\u0e01\u0e2a\u0e2d\u0e07\u0e2a\u0e32\u0e21\u0e40\u0e17\u0e48\u0e32\u0e02\u0e2d\u0e07 2800 \u0e04\u0e23\u0e31\u0e49\u0e07 \u0e40\u0e23\u0e32\u0e19\u0e48\u0e32\u0e08\u0e30\u0e44\u0e14\u0e49\u0e40\u0e25\u0e02\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e21\u0e32\u0e2a\u0e2d\u0e07\u0e2a\u0e32\u0e21\u0e15\u0e31\u0e27\u0e16\u0e49\u0e32\u0e40\u0e23\u0e32\u0e44\u0e21\u0e48\u0e42\u0e0a\u0e04\u0e23\u0e49\u0e32\u0e22\u0e40\u0e01\u0e34\u0e19\u0e44\u0e1b<\/p>\n<p>\u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e40\u0e23\u0e32\u0e01\u0e47\u0e41\u0e04\u0e48\u0e25\u0e2d\u0e07\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e40\u0e1e\u0e35\u0e22\u0e07 1 \u0e08\u0e38\u0e14\u0e43\u0e19\u0e20\u0e32\u0e1e\u0e44\u0e1b\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e22\u0e46\u0e08\u0e19\u0e20\u0e32\u0e1e\u0e01\u0e25\u0e32\u0e22\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e14\u0e49\u0e27\u0e22\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e48\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e32\u0e41\u0e1a\u0e1a\u0e19\u0e35\u0e49\u0e04\u0e23\u0e31\u0e1a:<\/p>\n<pre>\n\n<div class=\"codecolorer-container python default\" style=\"overflow:auto;white-space:nowrap;width:435px;height:300px;\"><div class=\"python codecolorer\"><span class=\"kw1\">def<\/span> mutate_to_prime<span class=\"br0\">&#40;<\/span>x<span class=\"sy0\">,<\/span> max_tries <span class=\"sy0\">=<\/span> <span class=\"nu0\">12000<\/span><span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; <span class=\"st0\">&quot;&quot;&quot;<br \/>\n&nbsp; &nbsp; Given a binary string x, flip just one bit to make it a prime number.<br \/>\n&nbsp; &nbsp; max_tries is the maximum number of tries before giving up.<br \/>\n&nbsp; &nbsp; If x is N bits long, probability that x is a prime is about 1\/(N log(2)),<br \/>\n&nbsp; &nbsp; so max_tries about a few times N log(2) should be OK.<br \/>\n&nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; The first prime found will be returned.<br \/>\n&nbsp; &nbsp; If no prime is found, None will be returned.<br \/>\n&nbsp; &nbsp; &quot;&quot;&quot;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> is_binary_string_prime<span class=\"br0\">&#40;<\/span>x<span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">return<\/span> x &nbsp;<span class=\"co1\">#if x is already prime, just return it.<\/span><br \/>\n&nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; found_prime <span class=\"sy0\">=<\/span> <span class=\"kw2\">False<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span> k <span class=\"kw1\">in<\/span> <span class=\"kw2\">range<\/span><span class=\"br0\">&#40;<\/span>max_tries<span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; m <span class=\"sy0\">=<\/span> mutate<span class=\"br0\">&#40;<\/span>x<span class=\"br0\">&#41;<\/span> <span class=\"co1\">#try flipping one bit<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> is_binary_string_prime<span class=\"br0\">&#40;<\/span>m<span class=\"br0\">&#41;<\/span>: <span class=\"co1\">#if it's a prime, return it<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">return<\/span> m<br \/>\n&nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> <span class=\"kw2\">None<\/span><\/div><\/div>\n\n<\/pre>\n<p>\u0e1c\u0e21\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e48\u0e19\u0e15\u0e48\u0e32\u0e07\u0e46\u0e40\u0e1b\u0e47\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e41\u0e1a\u0e1a\u0e19\u0e35\u0e49\u0e04\u0e23\u0e31\u0e1a \u0e42\u0e2b\u0e25\u0e14\u0e44\u0e14\u0e49<a href=\"http:\/\/witpoko.com\/wp-content\/uploads\/2018\/01\/pic_to_prime.py_.zip\">\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48<\/a>:<\/p>\n<pre>\n\n<div class=\"codecolorer-container python default\" style=\"overflow:auto;white-space:nowrap;width:435px;height:300px;\"><div class=\"python codecolorer\"><span class=\"kw1\">import<\/span> PIL.<span class=\"me1\">Image<\/span> <br \/>\n<span class=\"kw1\">import<\/span> gmpy2 <br \/>\n<span class=\"kw1\">import<\/span> <span class=\"kw3\">random<\/span><br \/>\n<span class=\"kw1\">import<\/span> numpy <span class=\"kw1\">as<\/span> np<br \/>\n<span class=\"kw1\">import<\/span> <span class=\"kw3\">math<\/span><br \/>\n<br \/>\n<span class=\"kw1\">def<\/span> scale_image<span class=\"br0\">&#40;<\/span><span class=\"kw2\">file<\/span><span class=\"sy0\">,<\/span> size <span class=\"sy0\">=<\/span> <span class=\"nu0\">64<\/span><span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; <span class=\"st0\">&quot;&quot;&quot;<br \/>\n&nbsp; &nbsp; Read an image file, change it to grayscale (0-255), <br \/>\n&nbsp; &nbsp; and scale it so that its dimension is at most size x size,<br \/>\n&nbsp; &nbsp; keeping the image's aspect ratio.<br \/>\n&nbsp; &nbsp; &quot;&quot;&quot;<\/span><br \/>\n&nbsp; &nbsp; im <span class=\"sy0\">=<\/span> PIL.<span class=\"me1\">Image<\/span>.<span class=\"kw2\">open<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw2\">file<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; im <span class=\"sy0\">=<\/span> im.<span class=\"me1\">convert<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">'L'<\/span><span class=\"br0\">&#41;<\/span> <span class=\"co1\">#change image to grayscale (0 to 255)<\/span><br \/>\n&nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; width<span class=\"sy0\">,<\/span> height <span class=\"sy0\">=<\/span> im.<span class=\"me1\">size<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> width &amp;gt<span class=\"sy0\">;<\/span> height:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; max_size <span class=\"sy0\">=<\/span> width<br \/>\n&nbsp; &nbsp; <span class=\"kw1\">else<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; max_size <span class=\"sy0\">=<\/span> height<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; scale_factor <span class=\"sy0\">=<\/span> size\/max_size<br \/>\n&nbsp; &nbsp; new_width <span class=\"sy0\">=<\/span> <span class=\"kw2\">int<\/span><span class=\"br0\">&#40;<\/span>scale_factor*width<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; new_height <span class=\"sy0\">=<\/span> <span class=\"kw2\">int<\/span><span class=\"br0\">&#40;<\/span>scale_factor*height<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; im <span class=\"sy0\">=<\/span> im.<span class=\"me1\">resize<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#40;<\/span>new_width<span class=\"sy0\">,<\/span> new_height<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> im<br \/>\n<br \/>\n<span class=\"kw1\">def<\/span> image_to_binary<span class=\"br0\">&#40;<\/span>image<span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; <span class=\"st0\">&quot;&quot;&quot;<br \/>\n&nbsp; &nbsp; Convert a grayscale (0-255) image to its binary string representation.<br \/>\n&nbsp; &nbsp; Change the last pixel to 1 to make it a prime number more easily.<br \/>\n&nbsp; &nbsp; &quot;&quot;&quot;<\/span><br \/>\n&nbsp; &nbsp; width<span class=\"sy0\">,<\/span> height <span class=\"sy0\">=<\/span> image.<span class=\"me1\">size<\/span><br \/>\n&nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; pixels <span class=\"sy0\">=<\/span> np.<span class=\"me1\">asarray<\/span><span class=\"br0\">&#40;<\/span>image<span class=\"br0\">&#41;<\/span> <span class=\"co1\">#store pixel value in numpy array<\/span><br \/>\n&nbsp; &nbsp; binary_pixels <span class=\"sy0\">=<\/span> <span class=\"br0\">&#40;<\/span>pixels <span class=\"sy0\">&gt;<\/span> <span class=\"nu0\">128<\/span><span class=\"br0\">&#41;<\/span>.<span class=\"me1\">astype<\/span><span class=\"br0\">&#40;<\/span>np.<span class=\"kw2\">int<\/span><span class=\"br0\">&#41;<\/span> <span class=\"co1\">#low values go to 0, high values go to 1<\/span><br \/>\n&nbsp; &nbsp; binary_pixels<span class=\"br0\">&#91;<\/span><span class=\"br0\">&#40;<\/span>-<span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span>-<span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span> <span class=\"co1\">#make sure last pixel is 1 to make it a prime more easily<\/span><br \/>\n&nbsp; &nbsp; binary_string <span class=\"sy0\">=<\/span> <span class=\"st0\">&quot;&quot;<\/span>.<span class=\"me1\">join<\/span><span class=\"br0\">&#40;<\/span>binary_pixels.<span class=\"me1\">flatten<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span>.<span class=\"me1\">astype<\/span><span class=\"br0\">&#40;<\/span>np.<span class=\"kw2\">str<\/span><span class=\"br0\">&#41;<\/span>.<span class=\"me1\">tolist<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> width<span class=\"sy0\">,<\/span> height<span class=\"sy0\">,<\/span> binary_string <span class=\"co1\">#return width and height along with 1-dimension binary representation <\/span><br \/>\n<br \/>\n<span class=\"kw1\">def<\/span> mutate<span class=\"br0\">&#40;<\/span>x<span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; <span class=\"st0\">&quot;&quot;&quot;<br \/>\n&nbsp; &nbsp; Given a binary string x, flip one random bit and return the result.<br \/>\n&nbsp; &nbsp; &quot;&quot;&quot;<\/span><br \/>\n&nbsp; &nbsp; i <span class=\"sy0\">=<\/span> <span class=\"kw3\">random<\/span>.<span class=\"me1\">randint<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span> <span class=\"kw2\">len<\/span><span class=\"br0\">&#40;<\/span>x<span class=\"br0\">&#41;<\/span>-<span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span> <span class=\"co1\">#location to flip a bit<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> x<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">==<\/span> <span class=\"st0\">'0'<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; flip <span class=\"sy0\">=<\/span> <span class=\"st0\">'1'<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">else<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; flip <span class=\"sy0\">=<\/span> <span class=\"st0\">'0'<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; result <span class=\"sy0\">=<\/span> x<span class=\"br0\">&#91;<\/span>:i<span class=\"br0\">&#93;<\/span> + flip + x<span class=\"br0\">&#91;<\/span>i+<span class=\"nu0\">1<\/span>:<span class=\"br0\">&#93;<\/span> <span class=\"co1\">#copy x to result, except one flipped bit<\/span><br \/>\n&nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> result<br \/>\n<br \/>\n<span class=\"kw1\">def<\/span> is_binary_string_prime<span class=\"br0\">&#40;<\/span>x<span class=\"sy0\">,<\/span> n_tests <span class=\"sy0\">=<\/span> <span class=\"nu0\">50<\/span><span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; <span class=\"st0\">&quot;&quot;&quot;<br \/>\n&nbsp; &nbsp; Check if the binary string x is prime using gmpy2's Miller-Rabin<br \/>\n&nbsp; &nbsp; algorithm with n_tests steps.<br \/>\n&nbsp; &nbsp; &quot;&quot;&quot;<\/span><br \/>\n&nbsp; &nbsp; num <span class=\"sy0\">=<\/span> <span class=\"kw2\">int<\/span><span class=\"br0\">&#40;<\/span>x<span class=\"sy0\">,<\/span><span class=\"nu0\">2<\/span><span class=\"br0\">&#41;<\/span> <span class=\"co1\">#convert binary string to decimal number<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> gmpy2.<span class=\"me1\">is_prime<\/span><span class=\"br0\">&#40;<\/span>num<span class=\"sy0\">,<\/span> n_tests<span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\n<span class=\"kw1\">def<\/span> mutate_to_prime<span class=\"br0\">&#40;<\/span>x<span class=\"sy0\">,<\/span> max_tries <span class=\"sy0\">=<\/span> <span class=\"nu0\">12000<\/span><span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; <span class=\"st0\">&quot;&quot;&quot;<br \/>\n&nbsp; &nbsp; Given a binary string x, flip just one bit to make it a prime number.<br \/>\n&nbsp; &nbsp; max_tries is the maximum number of tries before giving up.<br \/>\n&nbsp; &nbsp; If x is N bits long, probability that x is a prime is about 1\/(N log(2)),<br \/>\n&nbsp; &nbsp; so max_tries about a few times N log(2) should be OK.<br \/>\n&nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; The first prime found will be returned.<br \/>\n&nbsp; &nbsp; If no prime is found, None will be returned.<br \/>\n&nbsp; &nbsp; &quot;&quot;&quot;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> is_binary_string_prime<span class=\"br0\">&#40;<\/span>x<span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">return<\/span> x &nbsp;<span class=\"co1\">#if x is already prime, just return it.<\/span><br \/>\n&nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; found_prime <span class=\"sy0\">=<\/span> <span class=\"kw2\">False<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span> k <span class=\"kw1\">in<\/span> <span class=\"kw2\">range<\/span><span class=\"br0\">&#40;<\/span>max_tries<span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; m <span class=\"sy0\">=<\/span> mutate<span class=\"br0\">&#40;<\/span>x<span class=\"br0\">&#41;<\/span> <span class=\"co1\">#try flipping one bit<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> is_binary_string_prime<span class=\"br0\">&#40;<\/span>m<span class=\"br0\">&#41;<\/span>: <span class=\"co1\">#if it's a prime, return it<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">return<\/span> m<br \/>\n&nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> <span class=\"kw2\">None<\/span><br \/>\n<br \/>\n<span class=\"kw1\">def<\/span> print_pic<span class=\"br0\">&#40;<\/span>x<span class=\"sy0\">,<\/span> width<span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; <span class=\"st0\">&quot;&quot;&quot;<br \/>\n&nbsp; &nbsp; Given a binary string x, print it <br \/>\n&nbsp; &nbsp; so that each line contains width characters.<br \/>\n&nbsp; &nbsp; &quot;&quot;&quot;<\/span><br \/>\n&nbsp; &nbsp; height <span class=\"sy0\">=<\/span> <span class=\"kw2\">int<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw2\">len<\/span><span class=\"br0\">&#40;<\/span>x<span class=\"br0\">&#41;<\/span>\/width<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span> row <span class=\"kw1\">in<\/span> <span class=\"kw2\">range<\/span><span class=\"br0\">&#40;<\/span>height<span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">print<\/span><span class=\"br0\">&#40;<\/span>x<span class=\"br0\">&#91;<\/span>row*width : row*width+width<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\n<span class=\"kw1\">def<\/span> pic_to_prime<span class=\"br0\">&#40;<\/span><span class=\"kw2\">file<\/span><span class=\"sy0\">,<\/span> size <span class=\"sy0\">=<\/span> <span class=\"nu0\">64<\/span><span class=\"sy0\">,<\/span> max_tries <span class=\"sy0\">=<\/span> <span class=\"nu0\">12000<\/span><span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; <span class=\"st0\">&quot;&quot;&quot;<br \/>\n&nbsp; &nbsp; Open an image file and attempt to<br \/>\n&nbsp; &nbsp; print it as a binary string picture <br \/>\n&nbsp; &nbsp; that is a prime number.<br \/>\n&nbsp; &nbsp; &quot;&quot;&quot;<\/span><br \/>\n&nbsp; &nbsp; im <span class=\"sy0\">=<\/span> scale_image<span class=\"br0\">&#40;<\/span><span class=\"kw2\">file<\/span><span class=\"sy0\">,<\/span> size<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; width<span class=\"sy0\">,<\/span> height<span class=\"sy0\">,<\/span> binary <span class=\"sy0\">=<\/span> image_to_binary<span class=\"br0\">&#40;<\/span>im<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; x <span class=\"sy0\">=<\/span> mutate_to_prime<span class=\"br0\">&#40;<\/span>binary<span class=\"sy0\">,<\/span> max_tries<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> x:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; print_pic<span class=\"br0\">&#40;<\/span>x<span class=\"sy0\">,<\/span>width<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; num <span class=\"sy0\">=<\/span> <span class=\"kw2\">int<\/span><span class=\"br0\">&#40;<\/span>x<span class=\"sy0\">,<\/span><span class=\"nu0\">2<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">print<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;<span class=\"es0\">\\n<\/span>The number is {} in base 10.&quot;<\/span>.<span class=\"me1\">format<\/span><span class=\"br0\">&#40;<\/span>num<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">print<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;It has {} digits&quot;<\/span>.<span class=\"me1\">format<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw2\">len<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw2\">str<\/span><span class=\"br0\">&#40;<\/span>num<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">print<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;It's likely a prime with probability = {}&quot;<\/span>.<span class=\"me1\">format<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span>-<span class=\"kw3\">math<\/span>.<span class=\"kw2\">pow<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">0.5<\/span><span class=\"sy0\">,<\/span><span class=\"nu0\">50<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\n<span class=\"kw1\">def<\/span> main<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; <span class=\"kw1\">import<\/span> <span class=\"kw3\">sys<\/span><br \/>\n&nbsp; &nbsp; usage <span class=\"sy0\">=<\/span> <span class=\"st0\">&quot;&quot;&quot;<br \/>\n&nbsp; &nbsp; python pic_to_prime.py image_file [size] [max_tries]<br \/>\n&nbsp; &nbsp; Will attempt to convert image_file into a black and white picture whose ASCII representation is<br \/>\n&nbsp; &nbsp; (black = 0, white = 1) and the string of 0's and 1's forms a binary number which is likely prime with <br \/>\n&nbsp; &nbsp; an extremely high probablity.<br \/>\n<br \/>\n&nbsp; &nbsp; size is an optional parameter. &nbsp;The converted image's dimension will be at most size x size<br \/>\n&nbsp; &nbsp; Default value for size is 64<br \/>\n<br \/>\n&nbsp; &nbsp; max_tries is an optional parameter. It's the maximum number of tries to flip one bit in the converted image<br \/>\n&nbsp; &nbsp; until it's a prime number. &nbsp;If max_tries is reached without find a prime, the program does not return any Ascii image.<br \/>\n&nbsp; &nbsp; Typically, setting max_tries to be a few times size x size should be sufficient.<br \/>\n&nbsp; &nbsp; Default value for max_tries is 12,000<br \/>\n&nbsp; &nbsp; &quot;&quot;&quot;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"kw2\">len<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw3\">sys<\/span>.<span class=\"me1\">argv<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">2<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">print<\/span><span class=\"br0\">&#40;<\/span>usage<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; exit<span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <span class=\"kw1\">try<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; file_name <span class=\"sy0\">=<\/span> <span class=\"kw3\">sys<\/span>.<span class=\"me1\">argv<\/span><span class=\"br0\">&#91;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#93;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">print<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;Converting {}...&quot;<\/span>.<span class=\"me1\">format<\/span><span class=\"br0\">&#40;<\/span>file_name<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"kw2\">len<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw3\">sys<\/span>.<span class=\"me1\">argv<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">==<\/span> <span class=\"nu0\">2<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pic_to_prime<span class=\"br0\">&#40;<\/span>file_name<span class=\"br0\">&#41;<\/span> <br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"kw2\">len<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw3\">sys<\/span>.<span class=\"me1\">argv<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">==<\/span> <span class=\"nu0\">3<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; size <span class=\"sy0\">=<\/span> <span class=\"kw2\">int<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw3\">sys<\/span>.<span class=\"me1\">argv<\/span><span class=\"br0\">&#91;<\/span><span class=\"nu0\">2<\/span><span class=\"br0\">&#93;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pic_to_prime<span class=\"br0\">&#40;<\/span>file_name<span class=\"sy0\">,<\/span> size<span class=\"br0\">&#41;<\/span> <br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"kw2\">len<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw3\">sys<\/span>.<span class=\"me1\">argv<\/span><span class=\"br0\">&#41;<\/span> &amp;gt<span class=\"sy0\">;=<\/span> <span class=\"nu0\">4<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; size <span class=\"sy0\">=<\/span> <span class=\"kw2\">int<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw3\">sys<\/span>.<span class=\"me1\">argv<\/span><span class=\"br0\">&#91;<\/span><span class=\"nu0\">2<\/span><span class=\"br0\">&#93;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; max_tries <span class=\"sy0\">=<\/span> <span class=\"kw2\">int<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw3\">sys<\/span>.<span class=\"me1\">argv<\/span><span class=\"br0\">&#91;<\/span><span class=\"nu0\">3<\/span><span class=\"br0\">&#93;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pic_to_prime<span class=\"br0\">&#40;<\/span>file_name<span class=\"sy0\">,<\/span> size<span class=\"sy0\">,<\/span> max_tries<span class=\"br0\">&#41;<\/span> &nbsp; &nbsp; &nbsp;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <br \/>\n&nbsp; &nbsp; <span class=\"kw1\">except<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">print<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;An error has occured:&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"kw3\">sys<\/span>.<span class=\"me1\">exc_info<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; <br \/>\n<span class=\"kw1\">if<\/span> __name__ <span class=\"sy0\">==<\/span> <span class=\"st0\">'__main__'<\/span>:<br \/>\n&nbsp; &nbsp; main<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><\/div><\/div>\n\n<\/pre>\n<p>\u0e27\u0e34\u0e18\u0e35\u0e43\u0e0a\u0e49\u0e01\u0e47\u0e40\u0e23\u0e35\u0e22\u0e01\u00a0python pic_to_prime.py filename \u0e42\u0e14\u0e22\u0e17\u0e35\u0e48 filename \u0e04\u0e37\u0e2d\u0e0a\u0e37\u0e48\u0e2d\u0e44\u0e1f\u0e25\u0e4c\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e04\u0e23\u0e31\u0e1a\u00a0<\/p>\n<p>\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e20\u0e32\u0e1e\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e20\u0e32\u0e1e Darth Vader:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2561-01-27-at-23.59.41.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"5186\" data-permalink=\"https:\/\/witpoko.com\/?attachment_id=5186\" data-orig-file=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2561-01-27-at-23.59.41.png?fit=1298%2C1874&amp;ssl=1\" data-orig-size=\"1298,1874\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Screen Shot 2561-01-27 at 23.59.41\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2561-01-27-at-23.59.41.png?fit=709%2C1024&amp;ssl=1\" class=\"aligncenter size-large wp-image-5186\" src=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2561-01-27-at-23.59.41-709x1024.png?resize=474%2C685\" alt=\"\" width=\"474\" height=\"685\" srcset=\"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2561-01-27-at-23.59.41.png?resize=709%2C1024&amp;ssl=1 709w, https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2561-01-27-at-23.59.41.png?resize=208%2C300&amp;ssl=1 208w, https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2561-01-27-at-23.59.41.png?resize=768%2C1109&amp;ssl=1 768w, https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2561-01-27-at-23.59.41.png?w=1298&amp;ssl=1 1298w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/p>\n<p>\u0e20\u0e32\u0e1e Darth Vader \u0e02\u0e49\u0e32\u0e07\u0e1a\u0e19\u0e04\u0e37\u0e2d\u0e40\u0e25\u0e02\u0e10\u0e32\u0e19\u0e2a\u0e34\u0e1a\u0e17\u0e35\u0e48\u0e21\u0e35 1195 \u0e2b\u0e25\u0e31\u0e01 \u0e2b\u0e19\u0e49\u0e32\u0e15\u0e32\u0e41\u0e1a\u0e1a\u0e19\u0e35\u0e49\u0e04\u0e23\u0e31\u0e1a:\u00a0<\/p>\n<p>3069183072727172278860337378214364811175034036025244450162785708918361127976622462244955616465542073310944718954147895761643252918537495912453992270956943332625163100410236971285347282168904965253931503727481796300351734500671920231110149740644603732320920567437139574018949692454814303373410337477406380375065946238083359795848929370044692287614885238710013203784493630576976222535714074987122348018208566276582108014408460395720661886870781674435952140263967388925330430468219482326166783846446434209037095617083753020217147213702448717413427206823791407299246422960343709648378621123745736208899112612922595944987425466506332619408247083609772049609869403316890387132071258208841211446813145804008085966690045193746244730410209439050722697005342344505437504795775660537102148374631191587907498516228228789209160814532098859180914649594125752152645342655118749520955226752989697313945409163186662411266021539069921213862430095726119501306030813846080124361789827996639620644316501126994186024697789684863191124018231390812596919287605853413555802043957703338340785628246023479885637324716903027104728159535177737667950181169447546144659362616465956401475098937299932469625956492313055325061119<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0e1c\u0e21\u0e44\u0e1b\u0e40\u0e2b\u0e47\u0e19\u0e42\u0e1e\u0e2a\u0e15\u0e4c\u0e15\u0e25\u0e01\u0e46\u0e43\u0e19 Reddit \u0e21\u0e32 \u0e01\u0e32\u0e23\u0e4c\u0e15\u0e39\u0e19\u0e1a\u0e2d\u0e01\u0e27\u0e48\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e2d\u0e32\u0e15\u0e31\u0e27\u0e40\u0e25\u0e02 0 \u0e41\u0e25\u0e30 1 \u0e21\u0e32\u0e40\u0e23\u0e35\u0e22\u0e07\u0e01\u0e31\u0e19\u0e1a\u0e19\u0e08\u0e2d\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e23\u0e39\u0e1b\u0e22\u0e35\u0e23\u0e32\u0e1f\u0e41\u0e25\u0e30\u0e40\u0e25\u0e02 0 \u0e41\u0e25\u0e30 1 \u0e17\u0e35\u0e48\u0e40\u0e23\u0e35\u0e22\u0e07\u0e01\u0e31\u0e19\u0e19\u0e31\u0e49\u0e19\u0e16\u0e49\u0e32\u0e15\u0e35\u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e40\u0e25\u0e02\u0e10\u0e32\u0e19\u0e2a\u0e2d\u0e07\u0e41\u0e25\u0e49\u0e27 \u0e21\u0e31\u0e19\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e25\u0e02\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e2d\u0e35\u0e01\u0e14\u0e49\u0e27\u0e22\u00a0(\u0e40\u0e25\u0e02\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e04\u0e37\u0e2d\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e15\u0e47\u0e21\u0e1a\u0e27\u0e01\u0e17\u0e35\u0e48\u0e21\u0e35\u0e15\u0e31\u0e27\u0e2b\u0e32\u0e23\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e1a\u0e27\u0e01\u0e41\u0e04\u0e48 1 \u0e41\u0e25\u0e30\u0e15\u0e31\u0e27\u0e21\u0e31\u0e19\u0e40\u0e2d\u0e07) &nbsp; &hellip; <a title=\"\u0e27\u0e32\u0e14\u0e20\u0e32\u0e1e\u0e02\u0e32\u0e27\u0e14\u0e33\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\" class=\"hm-read-more\" href=\"https:\/\/witpoko.com\/?p=5158\"><span class=\"screen-reader-text\">\u0e27\u0e32\u0e14\u0e20\u0e32\u0e1e\u0e02\u0e32\u0e27\u0e14\u0e33\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30<\/span>Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":5188,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[101,108,117],"tags":[],"class_list":["post-5158","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-computer","category-math-geek","category-programming"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/witpoko.com\/wp-content\/uploads\/2018\/01\/pic_to_prime_collage.jpg?fit=1280%2C800&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4UNq0-1lc","_links":{"self":[{"href":"https:\/\/witpoko.com\/index.php?rest_route=\/wp\/v2\/posts\/5158","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/witpoko.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/witpoko.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/witpoko.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/witpoko.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5158"}],"version-history":[{"count":29,"href":"https:\/\/witpoko.com\/index.php?rest_route=\/wp\/v2\/posts\/5158\/revisions"}],"predecessor-version":[{"id":5193,"href":"https:\/\/witpoko.com\/index.php?rest_route=\/wp\/v2\/posts\/5158\/revisions\/5193"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/witpoko.com\/index.php?rest_route=\/wp\/v2\/media\/5188"}],"wp:attachment":[{"href":"https:\/\/witpoko.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5158"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/witpoko.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5158"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/witpoko.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5158"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}