Kolmogorov-mani


32

Kolmogorov karmaşıklığı bir dize s uzunluğu olarak tanımlanır kısa programı çıkışları s kullanılan P. P uzunluğunun s uzunluğundan daha kısa olması durumunda , s'nin sıkıştırılabilir olduğu söylenir , aksi takdirde s sıkıştırılamaz olur . Dizelerin çoğu sıkıştırılamaz ...

Bu dizgeyi çıkaran en kısa programı yazınız (boşluksuz ve yeni satırsız):

d9 a6 b6 33 56 a7 95 4b 29 b0 ac 7f 2a aa 6d 19 b8 4b 4c f8 b6 2a ac 95 
a1 4b 4e a5 9d b3 e7 c9 4c 49 59 ec 94 b3 aa 6c 93 8f 11 5a 4d 39 75 82 
ec ea 24 cc d3 2d c3 93 38 4e b7 a6 0d d2 b5 37 23 54 ad 1b 79 aa 6e 49 
55 52 94 5a a7 3a 6a e9 e4 52 cd 2d 79 ad c6 12 b5 99 5b b4 76 51 17 4e 
94 f3 9a a2 e7 15 6a 55 14 4d 4e 4a a3 5c 2f ab 63 cc b5 a6 a4 92 96 8a 
2e c3 d8 88 9b 8c a9 16 f5 33 22 5b a2 e2 cc 1b 27 d4 e8 db 17 a4 39 85 
ca aa 5b 4f 36 24 d3 c6 f6 94 ad d7 0f 71 24 e1 b1 c5 ef 65 35 6c 8d d7 
1a 87 1e 25 df 5d c0 13 b2 6f 5a 57 28 98 bd 41 66 04 ed a2 52 c9 ac 83 
b3 6c 56 7e d1 c6 cc 53 4a 62 c5 59 a9 b2 d4 af 22 a5 a9 f4 b2 99 23 32 
f8 fb ae 48 6a 8a 9a b5 46 7a 36 59 9f 92 d3 25 b5 19 bd 8a 4a 49 62 a5 
e4 59 fb e5 ba a2 35 dd a9 36 1d a9 c9 69 89 77 6a b2 34 2d 1d 22 61 c5 
c2 66 1c e2 76 74 52 a5 d9 84 b9 8a a6 b5 14 ec 29 58 b2 bc 96 16 16 48 
f5 c5 bd 2f 32 1b 3d 4f 4b 2e b2 6b 9a d9 32 a4 4b 5c bc 92 b7 b3 26 39 
fa 42 2d 64 ed 1a 79 49 4c a3 b7 85 b2 a6 e2 8c d9 55 90 e1 a8 87 4b 60 
a6 e1 ba c4 bb ec 32 39 76 90 a6 b4 c6 65 79 61 91 aa 3d 54 b7 18 3d 15 
4b 06 db 30 8a 4d 4a a1 35 75 5d 3b d9 98 ac 55 5b 10 dd b3 e2 cc f1 5e 
b3 2b 53 90 b6 ee 2b ac 8f 88 8d 95 5a 75 df 59 2d 1c 5a 4c e8 f4 ea 48 
b9 56 de a0 92 91 a9 15 4c 55 d5 e9 3a 76 8e 04 ba e7 b2 aa e9 ab 2a d6 
23 33 45 3d c4 e9 52 e3 6a 47 50 ba af e4 e5 91 a3 14 63 95 26 b3 8b 4c 
bc aa 5a 92 7a ab ad a6 db 53 2e 97 06 6d ba 3a 66 49 4d 95 d7 65 c2 aa 
c3 1a 92 93 3f ca c2 6c 2b 37 55 13 c9 88 4a 5c 62 6b a6 ae cc de 72 94 

Çıktı şöyle görünmelidir:

d9a6b63356a7954b29b0ac7f2aaa6d19b84b4cf8b62aac95a14b4e...7294

Not: kullanıcı girişine, web erişimine veya kitaplıklara izin verilmez (çıktının yazdırılması için gerekli olanlar hariç).

Düzenleme I: sıra rastgele gözüküyor ... ama asal sayıların bir miktar işlemden geçirilmesinde oldukça sıkıştırılabilir olduğu ortaya çıkıyor ...

Düzenleme II: Aferin! Cevapları gelecek saatlerde gözden geçireceğim, sonra ödül atayım. Bu nasıl çözülebileceği hakkındaki fikrim:

  1. Eğer verileri sıkıştırmayı denersen çok uzağa gitmezsin ...
  2. İnternette (bilinenler?) On-Line Tamsayı Dizileri Ansiklopedisi'ni (OEIS);
  3. ilk onaltılık sayıları denemek d9, a6, b6, 33, ...(veya ondalık gösterimi) sonuç vermez;
  4. ancak sayıları binary ( 1,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0) ' e dönüştürüp OEIS’te arama yaparsanız, bu sonucu elde edersiniz .
  5. Claudiu tarafından belirtildiği gibi, ben de soruyu biraz ipucu verdim (Yukarıdaki I Düzenle) ... :-)

Kazanan : Peter Taylor (GolfScript, 50), ilk olarak "çözülen" Claudiu'ya (Python, 92) özel bir söz vererek.


2
Bu diğer komogorov-karmaşıklık sorularından nasıl daha ilginç ?
Doorknob

2
@Doorknob: belki hiçbir şey ... en azından biri bir cevap yazana kadar :-)
Marzio De Biasi

5
Bunun bir "sabit tahmin et" oyunu mu olması gerekiyor?
Peter Taylor

7
Çözüm vermeyin! İnsanlar üzerinde çalışıyoruz :-)
Mau

3
Bence yarışma iki bölümden oluşmalı. İlk bölüm, cevabı bulanlara verilen bir ödül. İkinci bölüm, kodu nasıl sıkıştıracağını ve en küçüğünü ürettiğini gerçekten bilenlere verilen bir ödül. Şu anda, benim gibi sıkıntıları ve aynı zamanda gerçek kod golf lehte olanları (ki ben de değilim) ve APL'yi ve diğer kısa dilleri (hala ben değil) bilenleri hariç tutan bir "algoritmamı tahmin et" sorusundan daha fazlası. ).

Yanıtlar:


11

GolfScript (50 bayt)

$ wc -c codegolf24909.min.gs 
50 codegolf24909.min.gs
$ md5sum codegolf24909.min.gs 
ce652060039fba071d17333a1199fd72  codegolf24909.min.gs
$ time golfscript.rb codegolf24909.min.gs 
d9a6b63356a7954b29b0ac7f2aaa6d19b84b4cf8b62aac95a14b4ea59db3e7c94c4959ec94b3aa6c938f115a4d397582ecea24ccd32dc393384eb7a60dd2b5372354ad1b79aa6e495552945aa73a6ae9e452cd2d79adc612b5995bb47651174e94f39aa2e7156a55144d4e4aa35c2fab63ccb5a6a492968a2ec3d8889b8ca916f533225ba2e2cc1b27d4e8db17a43985caaa5b4f3624d3c6f694add70f7124e1b1c5ef65356c8dd71a871e25df5dc013b26f5a572898bd416604eda252c9ac83b36c567ed1c6cc534a62c559a9b2d4af22a5a9f4b2992332f8fbae486a8a9ab5467a36599f92d325b519bd8a4a4962a5e459fbe5baa235dda9361da9c96989776ab2342d1d2261c5c2661ce2767452a5d984b98aa6b514ec2958b2bc96161648f5c5bd2f321b3d4f4b2eb26b9ad932a44b5cbc92b7b32639fa422d64ed1a79494ca3b785b2a6e28cd95590e1a8874b60a6e1bac4bbec32397690a6b4c665796191aa3d54b7183d154b06db308a4d4aa135755d3bd998ac555b10ddb3e2ccf15eb32b5390b6ee2bac8f888d955a75df592d1c5a4ce8f4ea48b956dea09291a9154c55d5e93a768e04bae7b2aae9ab2ad62333453dc4e952e36a4750baafe4e591a314639526b38b4cbcaa5a927aabada6db532e97066dba3a66494d95d765c2aac31a92933fcac26c2b375513c9884a5c626ba6aeccde7294

real    365m11.938s
user    364m45.620s
sys     0m6.520s

Diğer herkes şimdi kodlarını ifşa ettiğinden, OP’nin çürütme isteğini de önceden vurguluyorum:

38200,{:x,{)x\%!},,2=},4/{3\{2&!!1$++}/.57>39*+}%+

Genel bakış diseksiyonu

  • N'den küçük hesaplama primerleriN = 38200 ile N'den hesaplama primerleri: ilk 4032 primi verir:38200,{:x,{)x\%!},,2=},
  • Asal başına bir bit, altıgen dönüştürmeyle istiyoruz, bu yüzden bunları 4 gruba ayırın: 4/
  • Her grup için, her asal harita piçinp&2 != 0 , ve 16 tabanlı dönüşüme bir taban-2 yapın: {3\{2&!!1$++}/.57>39*+}%(ilginç hileler bu nerede olduğunu)
  • Şimdi bir dizi ASCII değerine, artı stdin'den gelen boş dizgeye sahibiz; çıktı için tek bir dize elde etmek için onları birleştirmek:+

Baz dönüşümün daha ayrıntılı diseksiyonu

Boş bir dize ve bir astar listesi içeren bir yığın göz önüne alındığında, iki dönüşüm yapmamız gerekir:

  1. Her bir üssü, 2 veya 3'e eşit olup olmadığını gösteren bir bit'e dönüştürün (mod 4)
  2. Bitleri onaltılık basamaklara dönüştür

1 yapmanın eşit derecede uzun yolları var; Örneğin

{4%1>}%
{4%2/}%
{2/1&}%
{2/2%}%
{2&!!}%

ya da

{2&}% followed by a 2/ after the base conversion

2 için, bariz yaklaşım

2base 16base{'0123456789abcdef'=}%+

Ancak baz uzun bir kelimedir ve 16 = 2 4'ten beri birkaç karakterle kolayca tasarruf sağlayabiliriz.

4/{2base'0123456789abcdef'=}%+

Şimdi en belirgin atık o dizgeye adanmış 18 karakter. Sadece rakamdan ASCII koduna kadar bir fonksiyon istiyoruz. Biz haritasını oluşturmak istediğiniz 0için '0' = 48, ..., 9için '9' = 57, 10için 'a' = 97, ... 15için 'f' = 102.

4/{2base.9>39*+48+}%+

Ama şimdi karışıma bir yasak koy base. Kendimiz uygulamak zorundayız. Bariz uygulama (bu yönde, kolay olan) bu k basebir katlamadır {\k*+}*. Biraz daha uzun bir alternatif Temel durumda ihtiyacı basit bir yineleme, geçerli: 0\{\k*+}/. Taban 2 biraz özeldir: 1$++eşittir\2*+ aynı uzunluk için ve ben bu yaklaşımı alıyorum.

Her ikisi de 5 karakterden daha uzundur 2base, ancak şimdi değerler üzerinde yinelediğimizden beri, bölüm 1'de tek bir döngüye sahip olmak için çekebiliriz. Değiştiririz

{2&!!}%4/{2base.9>39*+48+}%+

ile

4/{{2&!!1$++}*.9>39*+48+}%+

Güzel bir 1-char tasarruf için, veya

4/{0\{2&!!1$++}/.9>39*+48+}%+

1-char kaybı için.

Ancak bu 1 karakterlik zararın geriye doğru bir adım gibi görünmesine rağmen, 0'a ne olduğunu düşünün. 16 ile çarpılır ve temel dönüşüm çıktısına eklenir. Ve yaptığımız son şey çıktıya 16 kat katmaktır. Böylece ikisini bir araya getirebiliriz.

4/{3\{2&!!1$++}/.57>39*+}%+

Eklem en kısa ve bonus zekâsı daha ilginç hale getirir.


1
360 dakika! Bu oldukça uzun bir süre. Ne tür bir yaklaşım benimsemiş .. benimki <1 dakika sürüyor
Claudiu

4
@ Claudiu, çok daha hızlı yapabilirdim, ancak yaklaşık 5 karakter eklerdi ve bu zaman kısıtlamaları olan kod-golf yerine kolmogorov-karmaşıklığı .
Peter Taylor

Kullansaydın ne kadar düşürürdün base? Diğer tüm çözümler eşdeğer kullanıyor (maden kullanıyor hex, C kullanıyor printf("%x"), haskell kullanıyor showHex)
Claudiu

1
@ Claudiu, aslında şu anki en iyi yaklaşımım basebundan daha uzun, çünkü kullanamayacağımı açıkladıktan sonra optimizasyonun çoğunu yaptım. basebana 0 ile 15 arasında bir değer veriyor, bu yüzden hala dönüştürmek için biraz çalışmaya ihtiyacı var 0-9a-f. Bir basenoktada kullanmayı tekrar ziyaret edebilirim , ama bu gece değil.
Peter Taylor

32

Python, 92 karakter

İşte bayanlar baylar, kodun kendisi!

>>> code = "R=range;print hex(int(''.join(`i/2%2`for i in R(38198)if all(i%x for x in R(2,i))),2))[2:-1]"
>>> len(code)
92
>>> exec code
d9a6b63356a7954b29b0ac7f2aaa6d19b84b4cf8b62aac95a14b4ea59db3e7c94c4959ec94b3aa6c938f115a4d397582ecea24ccd32dc393384eb7a60dd2b5372354ad1b79aa6e495552945aa73a6ae9e452cd2d79adc612b5995bb47651174e94f39aa2e7156a55144d4e4aa35c2fab63ccb5a6a492968a2ec3d8889b8ca916f533225ba2e2cc1b27d4e8db17a43985caaa5b4f3624d3c6f694add70f7124e1b1c5ef65356c8dd71a871e25df5dc013b26f5a572898bd416604eda252c9ac83b36c567ed1c6cc534a62c559a9b2d4af22a5a9f4b2992332f8fbae486a8a9ab5467a36599f92d325b519bd8a4a4962a5e459fbe5baa235dda9361da9c96989776ab2342d1d2261c5c2661ce2767452a5d984b98aa6b514ec2958b2bc96161648f5c5bd2f321b3d4f4b2eb26b9ad932a44b5cbc92b7b32639fa422d64ed1a79494ca3b785b2a6e28cd95590e1a8874b60a6e1bac4bbec32397690a6b4c665796191aa3d54b7183d154b06db308a4d4aa135755d3bd998ac555b10ddb3e2ccf15eb32b5390b6ee2bac8f888d955a75df592d1c5a4ce8f4ea48b956dea09291a9154c55d5e93a768e04bae7b2aae9ab2ad62333453dc4e952e36a4750baafe4e591a314639526b38b4cbcaa5a927aabada6db532e97066dba3a66494d95d765c2aac31a92933fcac26c2b375513c9884a5c626ba6aeccde7294
>>> import hashlib; hashlib.sha256(code).hexdigest()
'60fa293bbe895f752dfe208b7b9e56cae4b0c8e4cdf7c5cf82bf7bab60af3db6'

Marzio, " biraz asal sayıların yüksek oranda sıkıştırılabilir olduğu ortaya çıkıyor" diyerek akıllıca bir ipucu bıraktı . "Birazcık" kazara italik olmadığından emindim, bu yüzden altıgen ipi bitlere dönüştürdüm ve kalıp bulmaya çalıştım. İlk başta tüm astarları bit olarak temsil ettiğini ve bir araya getirdiğini sanıyordum ama bu işe yaramadı. Öyleyse belki sadece birkaç rakam alıyor veya bit dizesindeki tüm sıfırları bırakıyor - hala hayır. Belki de ilk birkaç prime ait en az anlamlı bitin bit bükümüdür? Tam değil. Ama nihayetinde işe yarayanı buldum - bu, ilk ancak çok sayıda prime ait ikinci en az anlamlı bitin bir ürküsü.

Bu nedenle, kodum tam da bunu yapar: yeterli miktarda asal sayı üretir, her birinin ( i/2%2) ikinci bitini alır, bunları bir ikili dize olarak birleştirir, ardından base-10 ( int(..., 2)) 'a ve ardından base-16 ( hex(...))' ya dönüştürür.


1
Harika! Golf kodlaması konusunda yeniyim, ancak karma işler diğerlerinin "nasıl yapılacağını" keşfetmekte eğlenmelerini sağlamak için iyi bir yoldur. İki gün bekleyeceğim, sonra bir ödül açacağım (güvene layık olacağım :).
Marzio De Biasi

5
@ MarzioDeBiasi: İşe yaradığından emin olun! Belki de ödülün gelmesinden bir gün önce ödüllendireceğinizi ve belki de kazananın cevabını açığa çıkarmazsa kazanmanın iyi olacağını söylemek belki de daha iyidir. ?
Claudiu

Neden hashlib kodunda sayılmadı? Çıktı üretmek için kod çalıştırılmıyor mu?
philcolbourn

2
@ philcolbourn: Hayır kod hashlib kullanmaz. Sadece sha256 hash üretmek için yarın bunu ilk gönderdiğimde kodu yazdığımı ispatlayabilirim. Yarın göreceksin!
Claudiu

@ Claudiu: Şimdi bana sorunu nasıl çözdüğünü açıklamalısın! Aferin!
rubik

9

Haskell, 105

SHA1 karma: a24bb0f4f8538c911eee59dfc2d459194ccb969c

Çıktı:

d9a6b63356a7954b29b0ac7f2aaa6d19b84b4cf8b62aac95a14b4ea59db3e7c94c4959ec94b3aa6c938f115a4d397582ecea24ccd32dc393384eb7a60dd2b5372354ad1b79aa6e495552945aa73a6ae9e452cd2d79adc612b5995bb47651174e94f39aa2e7156a55144d4e4aa35c2fab63ccb5a6a492968a2ec3d8889b8ca916f533225ba2e2cc1b27d4e8db17a43985caaa5b4f3624d3c6f694add70f7124e1b1c5ef65356c8dd71a871e25df5dc013b26f5a572898bd416604eda252c9ac83b36c567ed1c6cc534a62c559a9b2d4af22a5a9f4b2992332f8fbae486a8a9ab5467a36599f92d325b519bd8a4a4962a5e459fbe5baa235dda9361da9c96989776ab2342d1d2261c5c2661ce2767452a5d984b98aa6b514ec2958b2bc96161648f5c5bd2f321b3d4f4b2eb26b9ad932a44b5cbc92b7b32639fa422d64ed1a79494ca3b785b2a6e28cd95590e1a8874b60a6e1bac4bbec32397690a6b4c665796191aa3d54b7183d154b06db308a4d4aa135755d3bd998ac555b10ddb3e2ccf15eb32b5390b6ee2bac8f888d955a75df592d1c5a4ce8f4ea48b956dea09291a9154c55d5e93a768e04bae7b2aae9ab2ad62333453dc4e952e36a4750baafe4e591a314639526b38b4cbcaa5a927aabada6db532e97066dba3a66494d95d765c2aac31a92933fcac26c2b375513c9884a5c626ba6aeccde7294

Düzenleme: Kod:

import Numeric;f(x:z)s=f[y|y<-z,0/=mod y x]$s*2+quot(mod x 4)2;f[]s=s;main=putStr$showHex(f[2..38198]0)""

Yazdırma dışında herhangi bir kütüphane işlevinin kullanılmamasına ilişkin kuralı kaçırdım (putStr). Teknik olarak fonksiyonlarına rağmen matematiksel operatörlere izin verildiğini varsayardım.


9

C, 136 116 109 103 karakter

Tamam o zaman, işte benim çabam:

i;p;q;main(n){for(;n++,q<4032;){for(i=1;++i<n&&n%i;);if(i==n)p+=p+(n&2)/2,p=++q&3?p:printf("%x",p)*0;}}

MD5 hash = f638552ef987ca302d1b6ecbf0b50e66

1
Yana printfgetiri burada olmayan sıfır daima yazılı karakterin numarası, kullanabileceğiniz !printf(...)yerine printf(...)*0tek bir karakter kaydedin.
pastebin.com 0mr8spkT'yi

@ ace * tokat alnına * Ah, neden bunu düşünmedim ?? Teşekkürler ace, her zaman olduğu gibi :-) (MD5 hash'ına uyması gerektiği için kodu olduğu gibi bırakabilir.)
squishish ossifrage

7

JS, 764

Bu dizgeyi base64 olarak kabul edersek, base-64-ed sürümünü kullanarak daha küçük bir sürümümüz olabilir:

btoa("wÖºo­÷离÷ÛÖôiÎßÙ¦éÝ}oÎáÇüo­iÏyk^áæ¹õÖ÷{·=áÎ=ç×÷÷i®÷×^ZáÝýï6yÇÛw}swßÎo¶ºÑ×voûÛ~xiÝ[ïÖéî=çv÷Zk½Ú駽{vqÝïÖs­vo}å¶øï®u×¾÷÷õ¦¶{½yé®y×áîk~\Ùöëwoºkv÷¯Ùç7wÏ<õ¿kÝz÷Ûn[kg¶qÍ[Û·x{Ç[׶¸ßß9q¦å¾ß­¸ww:¯xi×{ÑþõÛµoW9yþ¹ßñ×{Õ¯;Õí¹uþ]sMwonå®{ÛÏ|mÞ5ë­8yÖ¶çg=iÏ7o~ç®ÞwW:qÎw᮶s}kÖöwÛf¹k×øoo}Û}öÇÛiî<é¯õ¦ùã®Úß®}õÿvw}¹o}mßá®=ëf¹{}}·¹m¦¶ß]kÝúÕÖ½sÞ½óÞûé¦ößÕݶëW9snºÕǶï®øçf¹wß8oßk¦ù×ÛÞ|ofÜ÷­z×®<9mÝßm[ÝÞá½onõ§}ßf¸á¾\mÏvo¶÷Û­ý}®6ÙÞ¸yÝZïÞ=áÆ·o¿9ofº{owÞy÷GµkÏ;á¾´k§µm§8m·ßmýï¯tk¦øs®¹ïÞµ÷VÝÞxo½|ÝÝyá½:u½ôñ®á¦µßùåÝÛwß|iÎyå½tuÖ÷{g^^o}çto§Ù¶ñÿ<ñßyå®ùuþ}ÙÝ\å®{Çøy®<oÞzuæ´÷oukÝyáÎyw½Ý®úñí8m§»of{ÖÙ§zÛ}÷ãÝs½çg·é®;çFÚi÷¸{uk}xëyÛ¦÷ñ¾mÆå¯ví¦iÖºu¾wÙï{Ó®m­Úë®=áßyw¾¹sfs}Z÷owÝ÷snÙ½ûçwsß<á®\ënk¦qÇ^ïox")

Ama bence yazar bu rasgele olmayan dizgenin ardındaki mantığı bulmamızı istiyor.


1
"downvotes acele" önlemek için ben soru :-) bazı detayları ekledi
Marzio De Biasi

4

Mathetmatica - 56

Gizem çoktan çözüldü, bu yüzden sadece fikri uygulamak

⌊.5Prime@Range@4032⌋~Mod~2~FromDigits~2~IntegerString~16

Güzel. Kedinin çantadan çıkmasının en kısa ihtimalinin ne olduğunu merak ediyorum
Claudiu

Buna "kitaplık yok (çıktı yazdırmak için gerekli olanlar hariç)" mi diyorsunuz?
Peter Taylor

@PeterTaylor Yep, ithalat yok - kitaplık yok.
homoseksüel

Yorumlara bakılırsa, OP'nin böyle yorumlanmasını istediğini sanmıyorum.
Peter Taylor

3

J - 46 karakter

Bana aldırma, J golfü gelecek için buraya atıyor. Hile bulmak için yeterince akıllı değildi.

4[1!:2&4'0123456789abcdef'{~#.2|<.-:p:i.1007 4

Açıklaması:

  • p:i.1007 4- 0'dan tam sayıların 1007 satırlık, 4 sütunluk bir matrisini oluşturun, ardından bu tam sayılara karşılık gelen asal sayıları alın. Evet, p:bir J yerleşiktir. Evet, dört asal kısaız.

  • 2|<.-: - Her numarayı yarıya (-: ), ( <.) ve bu modulo 2'yi ( 2|) alın. Bu, kiralamanın yanında önemli bir bit alarak aynıdır.

  • #.- Sonuçtaki her satırı 2. tabandan bir tam sayıya dönüştürün. Bu bize 0-15 dahil 1007 sayı verir.

  • '0123456789abcdef'{~#.- Bu matrisin her satırını bir sayı için ikili sayı olarak alın ve bu sayıyı onaltılık basamak listesinden seçmek için kullanın. Bu, dört bitin her birini hex'e dönüştürür.

  • 1!:2&4- J yorumlayıcısının 256 karakterden daha uzun karakter dizileri çıkarmakta bir sorunu olduğu için bu verileri doğrudan stdout'a göndermeliyiz. Bazen yenersin bazen kaybedersin.

  • 4[- Son olarak, sonucu atın 1!:2ve eksik olan 4'ü çıktıdan çıkarın. Bunu yapıyoruz, çünkü bu son dört üssü eklemek ve buraya boş bir sonuç döndürmekten daha kısa.


0

JS, 503

Aşağıdaki @xem fikri:

s='Ù¦¶3V§K)°¬*ªm¸KLø¶*¬¡KN¥³çÉLIY쳪lZM9uìê$ÌÓ-Ã8N·¦\nÒµ7#T­yªnIURZ§:jéäRÍ-y­Æµ[´vQNó¢çjUMNJ£\/«c̵¦¤.ÃØ©õ3"[¢âÌ'+"'"+'ÔèÛ¤9ʪ[O6$ÓÆö­×q$á±Åïe5l×%ß]À²oZW(½Afí¢Rɬ³lV~ÑÆÌSJbÅY©²Ô¯"¥©ô²#2øû®HjµFz6YÓ%µ½JIb¥äYûåº\n5Ý©6©Éiwj²4-"aÅÂfâvtR¥Ù¹¦µì)X²¼HõŽ/2=OK.²kÙ2¤K\¼·³&9úB-díyIL£·²¦âÙUá¨K`¦áºÄ»ì29v¦´Æeyaª=T·=KÛ0MJ¡5u];Ù¬U[ݳâÌñ^³+S¶î+¬ZußY-ZLèôêH¹VÞ ©LUÕé:vºç²ªé«*Ö#3E=ÄéRãjGPº¯äå£c&³L¼ªZz«­¦ÛS.mº:fIM×eªÃ?ÊÂl+7UÉJ\bk¦®ÌÞr'
r=''
for(var i=0;i<s.length;i++) r+=s.charCodeAt(i).toString(16);
console.log(r)

0

Mathematica, 55

Prime~Array~4031~BitAnd~2~FromDigits~2~IntegerString~16

Mathematica 8'de test edilmiştir. Bu, iki gözlemden yararlanır:

  • Mathematica FromDigitsaslında verilen rakamların aralığını kontrol etmiyor, bu yüzden formun bir listesine uygularsanız {2,0,2,2,0,...}, sonucun iki katı kadarını alırsınız {1,0,1,1,0,...}. Ama bu tam olarak BitAnd2 ile asalları oluşturarak oluşturulan formdur .
  • Onaltılık gösterimini istediğimiz sayının son biti sıfır olur (bir dize ile biten dizgenin gösterdiği gibi), bu yüzden bir asal daha az alacağınız sayı iki katıdır. Fakat iki faktörü tam olarak önceki gözlemi kullanmaktan elde ettiğimiz şey, bu yüzden her şey mükemmel bir şekilde uyuyor.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.