İki Fark Yaratıyor - Soyguncular


29

Ana polislerin mücadelesi için buraya tıklayın.

DİKKAT - Bu meydan okuma şimdi kapandı. Şimdi yayınlanır Herhangi çatlaklar leaderboard'unda sayılmayacaktır ve kabul edilen cevap olacak değil değiştirin.

Meydan okuma

Orijinal program, çıktısı ve değiştirilen programın çıktısı göz önüne alındığında, beklenen çıktının elde edilmesi için hangi karakterlerin değiştirilmesi, çıkarılması veya eklenmesi gerektiğini öğrenmeniz gerekir.

Birinin kodunu kırdığınızda, cevaplarındaki çatlağınıza bir bağlantı içeren bir yorum bırakın.

Biçimlendirme

# [<language>, <username of program owner>](<link to answer>)

## Description

<description of change and how you found it>

## Code

<changed code>

Kazanan

En çok çözümü kıran kişi kazanır.

Liderler Sıralaması

13 çatlak:

  • Dennis

8 çatlak:

  • Alex Van Liew

5 çatlak:

  • SP3000
  • isaacg

3 çatlak:

  • Luis Mendo
  • jimmy23013
  • Dom Hastings

2 çatlak:

  • mbomb007
  • Sluck49

1 çatlak:

  • Bir numara
  • Jakube
  • ProudHaskeller
  • David Zhang
  • samgak
  • paul.oderso
  • rayryeng
  • mgibsonbr
  • n̴̖̋h̷͉a̷̭̿h̸̡̅ẗ̵̨d̷̰ĥ̷̳
  • Stewie Griffin
  • abligh

1
@ mbomb007 Bu yazıyı düzenlemekten kaçınabiliyor musunuz, çünkü lider panosunu güncellerken nerede olduğumu bilmek benim için zorlaşıyor
Beta Decay

Yanıtlar:


10

CJam, Mauris tarafından

Açıklama

Mauris'in orijinal kodu aşağıdakileri yapar:

"f~"     e# Push that string on the stack.
    :i   e# Cast each to integer. Pushes [102 126].
      :# e# Reduce by exponentiation. Pushes 102^126.

CJam'ın matematiksel operatörlerinden hiçbiri, küçük girdiler için büyük bir sayı :#vermez , bu nedenle değiştirilemez. Yana #üs için kullanıldığında, sadece girdi olarak tamsayı alsın, :isıra kaldırılamaz. Bu girdiyi değiştirmek için tek bir yer bırakır: string "f~".

İpin karakterleri kaç olursa olsun, sonuç soldan çağrılan bir güç kulesi olacak. CJam biz çıkışını ifade etmek zorunda, 0 65535 den (suretler hariç) aralığında karakterleri destekler b n × k × j , nerede b , n , k ve j bu aralıktaki tam sayılardır.

Modifiye edilmiş kod sonuçlar bu tamsayı ondalık logaritmasının biraz daha küçük olan log 10 (2.44 x 10 242545 ) = log 10 (2.44) + 242.545 biz uygun değerleri bulmak amacıyla, olası bazlar logaritma bu değeri bölmek, böylece için n × k × j .

Aslında:

$ cjam <(echo '65536,2>{2.44AmL242545+1$AmL/i:I#s8<"24399707"=}=SIN')
5 347004

İlk 8 hanenin karşılaştırılması yeterli oldu.

Bu, çıktıyı 5 347,004 = 15625 57,834 = 125 9 × 102 × 126 olarak ifade edebileceğimiz anlamına gelir , bu nedenle veya ile değiştirmek"f~""㴉""} f~" yeterlidir .

kod

"㴉":i:#

veya

"}  f~":i:#

ASCII kodundaki boşlukların gerçekte bir tabülatör olması gerektiğini unutmayın.

Bu kodu çevrimiçi tercümanda çalıştırmayı denemek muhtemelen kötü bir fikirdir, ancak sonuçları komut satırından doğrulayabilirsiniz:

$ wget -q https://bpaste.net/raw/f449928d9870
$ cjam <(echo '[15625 57834]:c`":i:#") > mauris.cjam
$ cat mauris.cjam; echo
"㴉":i:#
$ cjam mauris.cjam | diff -s - f449928d9870
Files - and f449928d9870 are identical
$ echo -en '"}\tf~":i:#' > mauris-ascii.cjam
$ cat mauris.cjam; echo
"}  f~":i:#
$ cjam mauris-ascii.cjam | diff -s - f449928d9870
Files - and f449928d9870 are identical

11
Birisi sadece CJam’da Dennis’i yenmiyor
15’te

Hangi sayıların kullanılacağını nasıl buldunuz?
Alex Van Liew

@AlexVanLiew Brute force. Şu anda bir açıklama yazıyorum. Sadece bir başkasının yapmadan önce yayınlanmasını istedim.
Dennis,

@Dennis: Yeterince adil. Bunu deniyordum ama CJam'ı tanımıyorum; Amaçlanan çözümün aslında ~fprogramda bir yerde kullanılmasını düşündüm .
Alex Van Liew

1
@Mauris Soru , programdaki sadece iki karakterin ne zaman değiştiğini (benimkine vurguladığımda) yazıyor , bu yüzden bunun doğru olduğunu varsaydım. Neyse, sayıyı çarpanlaştırmak zor kısımdı.
Dennis,

15

Ruby, histocrat

Açıklama

X ekleyerek skalar yerine bir dizi olacak şekilde değiştirildi *

Sonuncuyu 9ekleyerek sayı yerine dize olarak değiştirdi.?

Sonuç, [9]9 kez çarpılmış ve sonra "9"ayırıcı olarak yerleştirilmiş tek bir elemanın ( ) bulunduğu bir dizidir .

kod

x=*9;puts x*9*?9

12

Python 2, kerpiç

Açıklama

Büyük sayıları çarpanlara ayırmayı ve müteakip faktörleri aramayı içeren denemeler ve indirgemeler sayesinde 87654'ten 58116'ya değiştirmenin yeterli olacağını fark ettim. Sonra 58116'yı 87 * 668 olarak çarpanlara ayırdım. Sonra 01234 = 668 olduğunu fark ettim, bu yüzden 87654'ten 87'ye değiştirip 01234'ü tamamen kaldırmam gerekiyordu. Bu bir yorum ile gerçekleştirilir.

kod

print (sum(range(054321)*9876)*87)#654)/01234

Evet, neredeyse tam olarak nasıl oldu? (Mine oldu print sum(range(054321)*9876)*87#654)/01234)
Mavi 7

Zekice zeki! Birisinin almasına sevindim ve "rakamlarla oynamaktan" daha ilginçti!
Alex Van Liew

11

Shakespeare, AboveFire

Sahne III'te, aşağıdaki kod parçasında Claudius'u Claudio'ya dönüştürmek gerekir:

[Enter Claudio]

Claudius:
 Thou art as stupid as the sum of thee and the product of the 
 product of me and Helen and Helena

[Exeunt]

Değiştirilmiş kod:

The Hidden Change.

Helen, a young woman with a remarkable patience.
Helena, a likewise young woman of remarkable grace.
Claudio, a remarkable man much in dispute with Claudius.
Claudius, the flatterer.
The Archbishop of Canterbury, the useless.


          Act I: Claudius's insults and flattery.

          Scene I: The insulting of Helen.

[Enter Claudius and Helen]

Claudius:
 Thou art as hairy as the sum of a disgusting horrible fatherless 
 dusty old rotten fat-kidneyed cat and a big dirty cursed war.
 Thou art as stupid as the product of thee and a fat smelly 
 half-witted dirty miserable vile weak son.

[Exeunt]

          Scene II: The complimenting of Helena.

[Enter Claudio and Helena]

Claudio:
 Thou art the sunny amazing proud healthy peaceful sweet joy.
 Thou art as amazing as the product of thee and the pretty
 lovely young gentle handsome rich Hero. Thou art as great 
 as the sum of thee and the product of a fair golden prompt good honest 
 charming loving noble king and a embroidered rich smooth golden angel.

[Exeunt]

          Scene III: The insulting of Claudio

[Enter Claudius and Helen]

Helen:
 Thou art as stupid as the sum of the sum of thee and a cat and me.
[Exit Helen]

[Enter Claudio]

Claudio:
 Thou art as stupid as the sum of thee and the product of the 
 product of me and Helen and Helena

[Exeunt]

          Scene IV: The Final Countdown

[Enter The Archbishop of Canterbury and Claudius]

Claudius:
 Thou art the sum of you and a cat.

The Archbishop of Canterbury:
 Am I better than a fine road?

Claudius:
 If not, let us return to the insulting of Claudio.

[Exit The Archbishop of Canterbury]

[Enter Claudio]

Claudius:
 Open your heart!
 Open your heart!
[Exeunt]

@AboveFire tarafından bağlanan derleyiciyi kullanarak bu yazdırılır 11.


2
Lütfen hangi karakterlerin değiştiğini daha net anlatabilir misiniz? İleriye ve geriye bakarken görmek pek kolay değil.
mbomb007

Kahretsin, 15 dakika geciktin. Tebrikler.
Sumyrda - Monica

2
Jeebus H. Christ. İyi iş!
rayryeng - Monica

1
@ mbomb007 Umarım düzenlemem bunu daha açık hale getirmiştir. AboveFire: sorry :)
plannapus

3
@plannapus Haha, sorun değil, ancak onu temizlemenin amaçlanan yolu "kral" kelimesini "domuz" ile değiştirmekti. Bu değişiklikle, Helena 0'a ve "toplamın ve benim ürünümün ürününe eşitti. ve Helen ve Helena "1 'e eşitti. İki harften ters çevrilebilecek tüm kelimelerin bir listesini yaptım ve kodumda birçoğunu kullandım (ör: sevinç-> hog-> oğlu, savaş> kedisi, karayolu-> kurbağa, Kahraman-> Cehennem, lanet-> çanta, helen-> helena, claudio-> claudius ve diğerleri) 2 karakter ile Shakespeare programını değiştirebilecek tek şey bir değişkenin değişmesidir; bir isim ve bir goto değişimi.
YukarıdaFire



7

C, LambdaBeta

Açıklama

Çevirin main(a,_)içine main(_). Main'in ilk argümanı argcolarak ilklendirilendir 1.

kod

main(_){puts(_*_-1||_*_*_-1||_*_*_*_-1?"Expected Output":"?");}

Aklımdaki çözüm buydu. İyi yakaladın. Bu arada, argv bellek hücresine 1 yüklenirse, bu çalışmaz. Bu sayfada çeşitli tercüme dilleri de çalıştırabilecek bir sistem düşünemiyorum.
LambdaBeta

6

Python 2, rp.belrann

En dıştaki liste kavrayışını belirlenmiş bir kavrama dönüştürün. Tüm "sıkıcı" çözümlerin tümünü ortadan kaldıran (takas xve yçevresinde, operatörleri ayarlayan, menzili değiştiren) @ mbomb007'ye kısmi kredi .

'~'*sum({(x,y)[x%2] for x in[y for y in range(8)]})

Açıklama:

Orijinalde, [(x,y)[x%2]for x in[y for y in range(8)]]aşağıdaki listeyi oluşturur:

[0, 7, 2, 7, 4, 7, 6, 7]

Bunun nedeni, Python 2.7, içinde yiç liste anlama olarak sızıntı 's bilinen son değer (bir aralık sonunda, 7) en parça kapsamına. Böylece, grupta yher zaman 7'dir x, ancak listeden normal olarak 0 ile 7 arasında değişir. Zaman zaman xbile, seçtiği xzaman tuhaf olduğunda seçer y(her zaman 7'dir). Eğer tam olarak bir 7 ekledim ve değerlerin kalanını da dahil xedersem, 19 aldım; sonra dış kavrayışımı, bütün yinelenen değerleri ortadan kaldıracak ve beni tam olarak 19 ile bırakacak olan bir kavrama dönüştürdüğümü fark ettim.

Bu çok zekiydi, daha önce hiç bir kavrayış kullandığımı sanmıyorum. Kudos.


Hayır. Bu değil. print len('~'*sum([(x,y)[x%2]for x in[y for y in range(6)]]))döner 21. Sadece bir değişkene kodu atayın, sonra istediğiniz dizeye eşitse yazdırın. Eğer görürseniz True, bunu kırık.
mbomb007 13:15

Tuhaf. _bana ihanet etti galiba.
Alex Van Liew

@ mbomb007 Anladım.
Alex Van Liew

Beni yakaladın. Aferin.
rp.beltran


5

Bash, Dennis

Orijinal kod:

echo {{{1..9}}}

Orijinal çıktı:

{{1}} {{2}} {{3}} {{4}} {{5}} {{6}} {{7}} {{8}} {{9}}

Değiştirilmiş kod:

echo {,{1..9},}

Modifiye çıktı:

1 2 3 4 5 6 7 8 9

Açıklama:

Bash'de şöyle bir parantez içindeki öğelerin virgülle ayrılmış listesini çıkartabilirsiniz:

echo {a,b,c}

baskılar

a b c

Bu yüzden değiştirilmiş kod hiçbir şeyin bir listesini çıkarmıyor, 1..9 sayıları, hiçbir şey.


5

MATLAB, Luis Mendo

Orijinal kod:

-sin(2:.5:3)    
ans =    
   -0.9093   -0.5985   -0.1411

Yeni cevap:

psi(2:.5:3)
ans =
    0.4228    0.7032    0.9228

Açıklama:

Değişti -siniçin psiMATLAB'ta poligama fonksiyonu. -İşareti ile ikame edilir pve nçıkarılır.


4

C, LambdaBeta

Açıklama

Değişim -1içine *0çarpma sonucu olduğunu böylece 0(a falsy değer).

kod

main(a,_){puts(_*_*_*_*_*0?"Expected Output":"?");}

Maalesef golf oynarken bir güvenlik açığı ortaya koymuş gibi görünüyor. Düzeltip düzeltemeyeceğimi görmek için boşuna mull edeceğim. Yine de güzel yakalamak.
LambdaBeta

4

Brainfuck, Kurousagi

Açıklama

İlk çıkarın >ve birinci değiştirmek <To.

Test brainfuck.tk . SE'nin yazdırılamayan karakterleri yediğinden dolayı , çıktıların Kurousagi'nin yayınları ile tam olarak uyuşmadığını unutmayın .

kod

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[>.+<-]

@muddyfish Bu cevabı ikinci yorumuma bağladım, ancak hala Kurousagi
Sp3000

4

Fantom, Cain

Belirsizlik yoluyla güvenlik çok zayıf bir güvenlik şeklidir (özellikle Fantom belgelerinde iki yöntem yan yana olduğunda ve bir yüzgenin neye benzediğini bilen biri ne yapacağını derhal bilir).

Float.makeBits32(1123581321)

1
Beni 1 dakika aldın !!! iyi oynadı
AboveFire

1
Beni haha ​​aldın, bedava çatlağın tadını çıkar
Cain

@Cain Bu kasıtlı oo oldu
The_Basset_Hound

1
@BassetHound Yani, insanların çatlak için bazı belirsiz bir dil öğrenmekle uğraşmayacaklarını görmek sosyal bir deneydi. Gerçek bir iş yapmayı zorlaştırmalıydım.
Cain


4

Python 2, Sp3000

Açıklama

Değişti 01234için 0x1234ve miniçin 9in.

4669 = (01234-1)*sum(m<<m in R for m in R)Yanıltıcı olduğu gerçeği .

kod

R=range(0x1234);print sum(m<<9in(m,n)for m in R for n in R)

Güzel bitti! Ben m<<m in(m,n), ancak ana şey değiştirmek oldu miniçin in.
Sp3000,

4

MATLAB / Octave, Stewie Griffin

Açıklama

Bu, isimsiz bir işleve girilen girişi engellemenin gyanı sıra,g fonksiyonun 7 yerine 2 :

kod

>> f=@(x)x^.7;g=@(x)2/f(x);g(-7)

ans =

  -0.3011 - 0.4144i

(Şimdi silinmiş) cevabım hakkındaki yorumunuz için teşekkür ederiz. WolframAlpha kullanılarak kırılabilecek yeni (çok benzer) bir tane yayınladım. Ben daha adil olduğuna inanıyorum.
Dr. Belisarius


3

Java, TheNumberOne

Açıklama

Program, Random.next()ilk tohumdan oluşan bir defalık uygulama Integer.MAX_INTve ondalık sayıya dönüştürülen tüm onaltılık sayılardır. Tohumun kompleman olarak değiştirilmesi, MAX_INTçıktısını üretir:

class T{public static void main(String[]a){System.out.print(((~Integer.MAX_VALUE^25214903917L)&281474976710655L)*25214903917L+11L&281474976710655L);}}

(tam olarak iki değişiklik olması gerektiğinden, herhangi bir işlem yapılmayan değişiklik seçin: bir yere boşluk, fazladan noktalı virgül vb.)


1
Güzel, ayrıca Integer.MAX_VALUEdönüştürebilir Integer.MAX_VALUE+1veyaInteger.MIN_VALUE
TheNumberOne

Oh, ne biliyor musun? Denedim +1ama Python'da yaptığım için uzun sürdü, ahaha. Aslında benim ilk düşüncem buydu.
Alex Van Liew

3

Brainfuck, AboveFire

Bu program bu kodun bir modifikasyonudur bana bir çerez cevap. bu cevap önce yararlı karakterlerin yararlı ascii kodlarının bir tablosunu önceden hesaplayarak işe yarar ve daha sonra bir giriş yaparak girilen üç döngüden oluşan üç koşullu ifadeye sahiptir.1 doğru pozisyona .

kodu nasıl kırdığımı başlatmak, değiştirilen çıktıdaki yinelenen modelin, tablo sola kaydırılmış olarak üçüncü döngüye girdiğinizde çoğunlukla yazdırılan şey olmasıdır.

++++++++++[->++++++++<]>>++++++[-<---------->]<-------[----------->>>-<<+<[->->+<<]]>>>+<<>>>+++[->++++++++++<]>(<)++ .<+++++++++[->>>>>>>++++++++++<+++++<++++++++++++++<++++++++++<+++++<++++++++++<<]++++++++++>>+++++...>++>++>-->+>(>)++++<<<<<<<.<<<[->>>>>>.<<>>>>>.<<<<<.>>>>>.<<<<<>>>.<<<<.>>>>>.<<<<.>>>>>.<<<<<.>>>>.<<<<<.>>>>.<<...>.<<<<<<]>[->>>>>.<<...>>>.<<<<.>>>>>.<<<<...>>>>.<<<<<.>>>>.<<...>.<<<<<]>[->>>>.<<>>>>>>.<<<<<<..>>>.<<<<.>>>>>.<<<<>>>>>>.<<<<<<.>>>>>>.<<<<<<>>>>.<<<<<.>>>>.<<...>.<<<<]

(ek karakterler parantez ile işaretlenmiştir)


3

Python 2, kerpiç

Açıklama

(String'in kullanımdan kaldırılmış versiyonu ) ve için , (23 uzunluğunda 3 kez görünen kod kodunun ) <<değerini değiştirin .<>!=0x1560156"n"'<built-in function sum>' ).

kod

print sum((ord(i)<>0156 for i in `sum`))

3

JavaScript, Razvan tarafından

Açıklama

Modifiye edilmiş çıkış net bir şekilde erişilebilir Euler doğal sayı olduğu Math['E'].

Değiştirerek ''etmek '3've 32karşı 36, String.fromCharCodeüretirE .

kod

a=1,b=a*2,c=a+b,d=[a+b];while(c>b)c-=a;for(i=1;i<=c;i++)d.push(i);i='3'+c*d['length']*d['length'];alert(Math[String.fromCharCode(i.charCodeAt(0) * i.charCodeAt(1) / 36)])

Evet doğru. Yine de aslında daha derin bir şeydi ama bu numara ile onu atlayabileceğiniz anlaşılıyor. Başka bir şey düşüneceğim ve geri döneceğim.
Razvan

3

Fantom, Cain

Açıklama

Dizi indekslemesi zaten ayarlanmış, bu yüzden sadece 55 yapmam gerekiyor. Dürüst olmak gerekirse, en zor kısmı dili indiriyordu.

kod

[7115432d/9,219.or(64),37,55,55][3]

(Virgül eklenmiş, 0-> 3)


Kahretsin, bu amaçlanan çözüm değildi, kırmızı ringa balığı gerçek bir çözümdü.
Cain

3

Shakespeare, AboveFire

DOĞRU DEĞİL - üzgünüm :(

İşten eve döndüğümde bunu daha yakından inceleyeceğim Orijinal Claudio'nın değeri 1132462081 ve Claudius'un değeri 1.

Son sahnede Claudio'nun değeri iki kere basılıyor,

[Enter Claudio]

Claudius:
 Open your heart!
 Open your heart!

kalbini aç x2 = sahnedeki diğer kişinin değeri (Claudio). Öyleyse, Claudius'u Claudio'ya değiştirirseniz (2 karakter) - Claudius'un değeri basılacaktır - ki bu 1 - iki kere

The Hidden Change.

Helen, a young woman with a remarkable patience.
Helena, a likewise young woman of remarkable grace.
Claudio, a remarkable man much in dispute with Claudius.
Claudius, the flatterer.
The Archbishop of Canterbury, the useless.


          Act I: Claudius's insults and flattery.

          Scene I: The insulting of Helen.

[Enter Claudius and Helen]

Claudius:
 Thou art as hairy as the sum of a disgusting horrible fatherless 
 dusty old rotten fat-kidneyed cat and a big dirty cursed war.
 Thou art as stupid as the product of thee and a fat smelly 
 half-witted dirty miserable vile weak son.

[Exeunt]

          Scene II: The complimenting of Helena.

[Enter Claudio and Helena]

Claudio:
 Thou art the sunny amazing proud healthy peaceful sweet joy.
 Thou art as amazing as the product of thee and the pretty
 lovely young gentle handsome rich Hero. Thou art as great 
 as the sum of thee and the product of a fair golden prompt good honest 
 charming loving noble king and a embroidered rich smooth golden angel.

[Exeunt]

          Scene III: The insulting of Claudio

[Enter Claudius and Helen]

Helen:
 Thou art as stupid as the sum of the sum of thee and a cat and me.
[Exit Helen]

[Enter Claudio]

Claudius:
 Thou art as stupid as the sum of thee and the product of the 
 product of me and Helen and Helena

[Exeunt]

          Scene IV: The Final Countdown

[Enter The Archbishop of Canterbury and Claudius]

Claudius:
 Thou art the sum of you and a cat.

The Archbishop of Canterbury:
 Am I better than a fine road?

Claudius:
 If not, let us return to the insulting of Claudio.

[Exit The Archbishop of Canterbury]

[Enter Claudio]

Claudio: << changed Claudius to Claudio
 Open your heart!
 Open your heart!
[Exeunt]

Hayır, Claudio değeri 1 xD değil. Bir dahaki sefere iyi şanslar.
YukarıdaFire

@AboveFire - crud .. Eve döndüğümde ona bir kez daha bakacağım, gerçekten düşündüm :(
Alex Carlsen 11

Bu benim de ilk tahminimdi, ama henüz deneme şansım olmadı. Her neyse, henüz anlamadığım tek parça başpiskoposun olduğu kısım, o yüzden eve döndüğümde bir göz atacağım.
Sumyrda - Monica

3

JimmyJazzx tarafından VBA

Değişti IRRiçin MIRRve değiştirilen 5a kadar, öylesine 3 parametreler vardır.

Bunu Excel'in IRRfonksiyonunun nasıl çalıştığını ararken buldum . Bir makale vardı: Excel'in MIRR İşlevi IRR İşlevini Nasıl Düzeltebilir ? Bu beni uçurdu. Zekice bir girişim olsa da. Daha önce hiç VBA kullanmamıştım, bu da ilginçti.

Sub q()
Dim a(2) As Double
a(0)=-5
a(1)=10
msgBox MIRR(a,0.2,3)
End Sub

Güzel. Teknik olarak hem M'yi hem de ekledim, bu yüzden orta argüman 0.25'di ama yine de aynı sonucu elde ettiklerini düşünüyorum. Bazı finans fonksiyonlarını kullanarak, programcılar güdük olabilir ama belgelerle ortaya koydu. İyi iş
JimmyJazzx 13:15

3

Matlab / Octave, Jonas

Açıklama

Son satırda, ekleme 'dönüştürmeye arg'dizeye 'arg'sonra ASCII numaraları olarak yorumlanacaktır. Ve sonra 'sütun biçimini korumak için sonuna bir tane daha ekleyin .

'Orijinal kodda neredeyse gereksiz ana ipucuydu. Ayrıca, geriye dönük olarak incelemede, argayrı ayrı tanımlanmış (doğrudan sinhat içinde değil ) şüpheli görünüyor olmalıydı.

kod

format long
arg = [.1 .2 .3];
sin('arg'*exp(9))'

3

bc, yukarıda

Yalnızca matematik operatörlerini ekledim. Bc'nin ne olduğunu ve hangi matematik işlemlerini yaptığını bulduktan sonra çözülmesi yaklaşık bir dakika sürdü. Düşündüğüm ilk şey bölünme idi, ama hoş görünen ortak faktörler yoktu. Bu yüzden hemen üstel ve modulus için gittim. Beklenen çıktının b / c modülü için en az 15 hane gerekliydi. Ondan sonra iki kere tahmin ettim ve buldum.

4518^574%615489737231532

3

Lua, TreFox

Açıklama

"_G", global tablodur, "_G.load", "load" global fonksiyonuna atıf yapar. Bir işlevin bir dizgeye dönüştürülmesi işlevin adresini döndürür, bu da daha sonra "#" uzunluk işleci tarafından dize uzunluğuna yapılır.

kod

G={load="lfkjgGsHjkU83fy6dtrg"}
print(#tostring(_G.load))

Ayrıca, buradaki ilk gönderim olduğundan, orijinal cevap hakkında yorum yapamam.


Polis cevabı üzerine bir yorum bıraktım. Bu arada, bu benim için pek işe yaramadı. Aldığım adres, 0x321a40c6d0son bir çıktı için 22.
Dennis,

Emin neden her konuda ... 22 alıyorsanız değilim ben 18 ya da 26. oldu test
TreFox


Aha, çok yakındım! Global'e ihtiyacım loadolduğunu biliyordum _Gve global sembol tablosuna atıfta bulunduğumu biliyordum ... Sadece ikisini bir araya getirmedim.
Alex Van Liew

3

Python, rp.beltran

Açıklama

Gerekli harflerin her zaman bir basamağın önünde 2 olduğunu fark ettim. Üçüncü değişen \wiçin \dboşluklar hariç sağ harflerin hepsi var. \Dtek\Harf ve boşluk bırakabilecek bulabildiğim gruptu.

kod

import re;''.join(re.findall('\D(?=\w\d)','t74q joh7 jv f9dfij9j bfjtf0e nnjen3j nnjrb6fgam3gtm5tem3hj s3eim7djsd3ye d5dfhg5un7ljmm8nan3nn6n k m2ftm5bsof5bf r5arm4ken8 adcm3nub0 nfrn6sn3jfeb6n d m6jda5 gdif5vh6 gij7fnb2eb0g '))

w-> D, w-> dregex’de.


3

Pyth, isaacg

Açıklama

Orijinal kod aşağıdakileri yapar:

 CG      Convert "abcdefghijklmnopqrstuvwxyz" from base 256 to integer, yielding
         156490583352162063278528710879425690470022892627113539022649722.
   ^3y21 Compute 3^(2 * 21).
%        Calculate the modulus.

Yana 156490583352162063278528710879425690470022892627113539022649722 - 58.227.066 verir 156490583352162063278528710879425690470022892627113538964422656 eşit olduğu, 2 26 x 3 x 7 x 7477 x 381.524.422.711 x 17007550201751761 x 2288745700077000184147 istenen çıkış değiştirerek elde edilebilir, ^3y21bu ürün bir böleni için değerlendirir ve daha büyük bir öğe ile 58.227.066 .

^Orijinal kodu biz bir gücünü hesaplamak için kullanmak olabileceğini düşündürmektedir 2 , 3 , biz bir şekilde bir montaj böleni hesaplamak olabilir 3 x 2 , n .

Her ikisi de yanıltıcıdır. 3 (bir Levenshtein mesafe olan çözeltiler %CG^2 26, %CG^y2 13, %CG^4y13) ya da 4 ( %CG.<3y13) hali hazırda bulunan, ama mesafe 2 çözelti farklı bir yaklaşım gerektirmektedir.

Küçük harfli alfabenin ( G) 26 harfi vardır, bu yüzden onun güç seti (küçük harflerle artan katı dizilerin tamamı için) 2 26 elemana sahiptir. By değiştirilmesi y2ileyG , bu güç setini hesaplamak.

Biz tarafından kümesinin uzunluğunu alabilirsiniz değiştirilmesi 3ilel bize bırakır, ^lyG1yani 2 26 birinci kuvvete yükseltilmiş.

kod

%CG^lyG1

Bunun sadece yeterli boş hafızaya sahip bir bilgisayarda çalışacağına dikkat edin (kabaca 6,43 GiB, buna göre time), bu nedenle çevrimiçi tercüman ile çalışmayacak.

İşte komut satırından sonuçları doğrulayabilirsiniz:

$ \time -v pyth -c '%CG^lyG1'
58227066
        Command being timed: "pyth/pyth.py -c %CG^lyG1"
        User time (seconds): 30.73
        System time (seconds): 2.12
        Percent of CPU this job got: 100%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:32.85
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 6742564
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 0
        Minor (reclaiming a frame) page faults: 2269338
        Voluntary context switches: 1
        Involuntary context switches: 58
        Swaps: 0
        File system inputs: 0
        File system outputs: 0
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

Doğru! Aferin.
isaacg
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.