“Merhaba Dünya!” (Polisler dizisi)


16

Bu polislerin iş parçacığı. Soyguncuların ipi burada .

Zorluğunuz, belirli bir girişle tam dizeyi yazdıran bir program veya işlev yazmaktır Hello, World! ve satırsonu . Büyük harf kullanımı, boşluk ve noktalama işaretleri tam olmalıdır.

Giriş standart girdi, bir dosya veya komut satırı / işlev bağımsız değişkenleri aracılığıyla alınabilir. Çıktı, dönüş değeri, bir dosyaya yazma veya standart çıktı yoluyla verilebilir.

Programınız Hello, World!en az bir giriş için yazdırmalıdır . Programınıza yanlış giriş verildiğinde (örneğin, yazdırmayı yapmayan giriş Hello, World!), istediğinizi yapabilir - çökme, rastgele saçmalık yazdırma, Chuck Norris'i arama vb.

Bir karma algoritması veya gerekli girdiyi gizlemek için benzer yöntemler kullanamazsınız.

Öneriler çalıştırılabilir ve ilgili kırılabilir olması tercih edilir TIO . TIO'da çalıştırılamayan veya kırılamayan gönderimlere izin verilir, ancak lütfen bunları indirmek / çalıştırmak için talimatlar ekleyin.

Bir hafta sonra bu görev gelecekteki polis gönderilerine kapatılacak. Kazanan, gönderdikten bir hafta sonra kırılmayan en kısa koddur (bu meydan okuma değil, koddur). Kazanan iki hafta sonra kabul edilecektir.

Göndermeden bu yana bir hafta geçtikten sonra, lütfen cevabınızı güvenli olarak işaretleyin ve girişi gösterin (a > ! spoiler quote). Bir soyguncu başvurunuzu çatlatırsa (hafta bitmeden), lütfen çatlamış olarak işaretleyin ve durdurma girişini gösterin (a > ! spoiler quote).

Çatlaksız gönderimler mi arıyorsunuz?

fetch("https://api.stackexchange.com/2.2/questions/137742/answers?order=desc&sort=activity&site=codegolf&filter=!.Fjs-H6J36vlFcdkRGfButLhYEngU&key=kAc8QIHB*IqJDUFcjEF1KA((&pagesize=100").then(x=>x.json()).then(data=>{var res = data.items.filter(i=>!i.body_markdown.toLowerCase().includes("cracked")).map(x=>{const matched = /^ ?##? ?(?:(?:(?:\[|<a href ?= ?".*?">)([^\]]+)(?:\]|<\/a>)(?:[\(\[][a-z0-9/:\.]+[\]\)])?)|([^, ]+)).*[^\d](\d+) ?\[?(?:(?:byte|block|codel)s?)(?:\](?:\(.+\))?)? ?(?:\(?(?!no[nt][ -]competing)\)?)?/gim.exec(x.body_markdown);if(!matched){return;}return {link: x.link, lang: matched[1] || matched[2], owner: x.owner}}).filter(Boolean).forEach(ans=>{var tr = document.createElement("tr");var add = (lang, link)=>{var td = document.createElement("td");var a = document.createElement("a");a.innerHTML = lang;a.href = link;td.appendChild(a);tr.appendChild(td);};add(ans.lang, ans.link);add(ans.owner.display_name, ans.owner.link);document.querySelector("tbody").appendChild(tr);});});
<html><body><h1>Uncracked Submissions</h1><table><thead><tr><th>Language</th><th>Author</th></tr></thead><tbody></tbody></table></body></html>



13
Kum havuzunda söylediğim gibi, bunun herhangi bir yanıtın burada gönderilebileceği, ancak kodun ve sonsuz döngünün merhaba dünyasını yazdırmak için kodla değiştirildiği için bunun durma sorununun bir kopyası olduğunu hissediyorum . Çekmediğim için henüz oy vermeyeceğim, ama bunun bir dupe olduğuna ikna oldum.
FryAmTheEggman

5
Açıkçası sha3bu kategoriye giriyor, ama aksi halde çizgiyi nerede çiziyorsunuz? Demek istediğim, mod 1e3aynı zamanda bir karma işlevdir ve şimdiye kadar gidip gönderimlerin çoğunun karma işlevler olacağını iddia ediyorum, çünkü bu zorluk temelde bunu istiyor.
flawr

1
Geçen gün gördüğüm cevaplara dayanarak, beni ikna eden hiçbir şey ortaya çıkmadı. Şimdilik polis meydan okumasını kapatacağım ve eğer topluluk buna katılmıyorsa tekrar açılabilir ve topluluk kabul ederse soyguncuyu da kapatabilir.
FryAmTheEggman

1
@Dopapp burada zaten tartışıldı, (bazı yorumlar silindi) ve sohbet. Yanıtlar bu zorlamadan kopyalamaya yapıştırılamaz ya da kolayca taşınamaz, bu nedenle kopyalar değildir.
MD XF

Yanıtlar:


3

Python 3, 191 186 bayt (GÜVENLİ!)

Önceki cevabımla aynı, ancak noob eval ifadesi olmadan, birileri aslında yarattığım problemi çözmek zorunda.

import sys
from numpy import *
e=enumerate
c='Hello, World!'
print(''.join([c[int(sum([c*cos(n*i)for i,c in e(fromiter(sys.argv[1:],float))])+.01)]for n in[2*i+ord(n)for i,n in e(c)]]))

şimdi doğru parametrelerle, örneğin python3 hw.py 1 2 3


Düzenleme : önceki sürümü "Merhaba, Dünya!" Bir virgül eksikti ve ben de artık gitti gereksiz bir numaralandırma olduğunu fark etti.


Düzenleme 2 : Sadece eğlence için, aynı kodun neredeyse aynı Pyth sürümü (47 bayt):

KEJ"Hello, World!"jkm@J.Rs.e*b.t*dk1K0.e+*2kCbJ

Girdi alınır stdinve gibi bir argüman listesi biçimindedir[1,2,3]

Ayrı bir cevap göndermenin bir anlamı yok çünkü Pthyon3 versiyonunu kırırsanız, Pyth'i bilmeden bile Pyth versiyonunu kırıyorsunuz.


Cevap:

python3 hw.py 10.72800138 13.23008796 19.30176276 16.13233012 18.10716041 0.98306644 8.18257475 19.20292132 10.99316856 -2.15745591 6.01351144 5.45443094 10.41260889

Kod açıklaması:

''.join()dizeden bir karakter dizisinden merhaba dünya dizesi oluşturur "Hello, World!". Bu göstergeler olduğunda bulmaca çözüldü [0,1,2,3,4,5,6,7,8,9,10,11,12]. Her dizin bir girişten ve komut satırında verilen sabitlerden hesaplanır. Girişler sert kodlu serisi: [2*i+ord(c) for i,c in enumerate('Hello, World!')]. Giriş, sabitler ve çıkış (indisi) ile ilgilidir işlev şudur: sum([c*cos(x*i) for i,c in enumerate(CONSTANTS)]). Bu, modelinize veri sığdırmaya çalıştığınız klasik bir modelleme sorunudur.

Python'da çözüme varmak:

from scipy import optimize
x = [2*i+ord(c) for i,c in eumerate('Hello, World!')]
y = [0,1,2,3,4,5,6,7,8,9,10,11,12].
# make your function: 13 terms means we can achieve 13 exact outputs
def f(x,a,b,c,d,e,f,g,h,i,j,k,l,m):
    return sum([c*cos(x*i) for i,c in enumerate([a,b,c,d,e,f,g,h,i,j,k,l,m])])
# curve fit
ans,_ = optimize.curve_fit(f,x,y)
# check answer
[round(f(a,*ans),0) for a in x] # should be 0-12


2
Bilmediğiniz durumda literal_eval(), astmodülde ifadeleri güvenle değerlendirmek için kullanılabilir, böylece print(kod enjeksiyon problemi işe yaramaz. Muhtemelen burada önemli değil, ama bundan bahseteceğimi düşündüm.
Esolanging Fruit

2
bunun yazdırabileceğinden emin misiniz Hello, World!? Henüz çatlamadım, ancak virgül eksik görünüyor (birleştirme döngüsünde sadece 12 yineleme)
Uriel

Oh, haklısın, virgül eksik. Şimdi düzelteceğim.
rexroni

@ Challenger5 teşekkür ederim, bunu bilmiyordum.
rexroni

12

TeX - 38 bayt Kırık (ish)

Bu bir çekim değer, çünkü bir sitede kısa kod parçaları yazma hakkında kimsenin TeX bildiğini hayal edemiyorum:

\read16to\x\message{Hello, World!}\bye

Çalıştırmak için, etkileşimli moda izin veren bir TeX formuna sahip olmalısınız. Bunu bir dosyaya kaydedin ve üzerinde TeX (veya pdfTeX, XeTeX vb.) Çalıştırın.

Düzenleme: Şu anda bu yarı kırık düşünüyorum. Amaçlanan çözüm stdin'den girdi kullanır, ancak programın çağrılma biçiminden TeXnically girdi geçerlidir. Birisi amaçlanan yöntemi alırsa daha dolandırıcı TeX cevapları ekleyeceğim.

İşte amaçlanan çözüm:

^ C Ia - İlk anahtar, hataya neden olan kontrol-c'dir. Ardından, bir komut girmek için I (büyük harf i) tuşuna basarsınız. Sonra bir (veya yazılacak başka bir şey) yazarsınız. Normalde, stdout'a yazdırılan mesajı bir boşluk ve ardından bir ')' izler. Bir şey yazdığınızda, mesajdan sonra yazı tipi bilgilerinin çıkmasına neden olur. Bu, yeni bir satırın atıldığı ve ')' daha sonra taşındığı anlamına gelir.

Bu elden kalmış olabilir, ancak yine de oyunun kuralları dahilinde olmalıdır.


PPCG'ye hoş geldiniz. İyi ilk cevap
Евгений Новиков

Kullanmak yeterli olmaz tex \ Hello, world!\byemı (23 bayt)?
Werner

@Werner kullanıcı girişine izin verir mi?
Altın Adam

Bu aslında kırılmak mı demek? : o
Felix Palmen

3
texnicallyTanrım.
MD XF

7

> <> , 538 bayt, rexroni tarafından kırıldı

v
\">/v>v\v</>"
/!?lp%*2di%*2di
a
v   "        "       "
   "l"      "o"  /  "e"
v   "        "     " "
      "   /       "l"/
v    "!"           "
 //   " " "      \
v     \"d"o"   " "    "
      " " "   "o"r"  "!"
v"   "H"       " "    "
"l"   ""
""    "r" "         "
    \  " "l"       "d"  "
v   "     "      "  "  "H"
   "e"         /","     "
v " " "     "  " "
 "e" "W"  /"d""l"
v " " "     "  "      "
   "H"               "!"
v   "                 "
                        v
>>"Hello world?"       >o<
                        ^

Çevrimiçi deneyin ya da balık oyun alanını kullanmak isteyebilirsiniz .

İlk üç satır STDIN'den bir karakter dizisinde okur ve " >/v>v\v</>" karakterlerini aşağıdaki labirente koymak için koordinat olarak mod 26 kodlarını kullanır . Amaçlanan çözüm, yalnızca A – Z harflerinden oluşan 20 karakterlik bir dizedir (tabii ki istediğiniz herhangi bir şeyi kullanmanıza izin verilir).

Çözüm:

Amaçlanan giriş OCEANICWHITETIPSHARK(bir balık!). Labirentten geçen yol şöyle görünür:

v
\">/v>v\v</>"
/!?lp%*2di%*2di
a                |  |
v   "        "   |  |"
| v"l"______"o"__/  "e"
v | "        "     " "
| |   "   /       "l"/
v |  "!"           "|
|//   " " "    v_\  |
v|    \"d"o"   " "  | "
||    " " "   "o"r" |"!"
v"   "H"       " "  | "
"l"___""_______ _/__/_____
""    "r" "    | |  "
|>__\  " "l"   | | "d"  "
v   "     "    | "  "  "H"
|  "e"v________/"," |   "
v " " "     "  " "  |
|"e"|"W"  /"d""l"|  |
v " " "     "  " |  | "
<  "H">__________ __\"!"__
v   "            |  | "
    >____________ __ ___v
>>"Hello world?" |  |  >o<
                 |  |   ^


Çatlak! Beni sonsuza dek aldı.
rexroni

3
Hey, cevabın bir kelime olabileceğinden şüphelendim, ancak çözmek için hiçbir girişimde bulunmadım. Daha da etkilendim.
rexroni

6

Oktav, 59 bayt, Kırık

Bu, Octave 4.2.0'da çalışır. Tüm sürümlerle uyumluluğu garanti edemiyorum.

i=input('');printf('%c',i*~all(isequal(i,'Hello, World!')))

Not: Bu, herhangi bir boşluk veya yeni satır yazdırmaz. Öyle görünüyor:

enter image description here

Temelde şöyle diyor: "Giriş 'Merhaba, Dünya!' Olmadığı sürece giriş dizesini yazdırın, bu durumda hiçbir şey (veya boş karakter) yazdırmamalıdır.


Dize veya char%c demek olup olmadığından emin değilim ... belki bir şey saklıyorsun? Ayrıca beni biraz şüpheli hale getiriyor ...*~
Outgolfer Erik

Emin değilim ama çatladım mı?
ბიმო

@BruceForte çıktı sonunda boş bir bayt yazdırır, bunun geçerli olduğundan emin değilim ... bağlantı
MD XF

1
Eminim amaçlanan çözüm bu tür bir şeydir.
Jonathan Allan

1
@BruceForte, hayır. yoktu \n. Soru metninin " isteğe bağlı son satır " dediğini düşündüm .
Stewie Griffin



5

Patlat , 23 bayt, Kırık

@_?&4_-j>5&f^~c>&6\|4>7

Daha geliyor, bu sadece başlangıç> :)

Çevrimiçi deneyin!

Explorer Açıklaması

Bu programda dört kaşif var. Wait ( >) öğesinin düzgün çalıştığından emin değilim .

@_?

Kullanıcı girişini ( ?) okuyun , bandı ( @) yazın ve uzatın ( _).

&4_-j>5

4 kene ( 4) için, ( ) 19 ( ) çıkararak 5 ( ) ile zıplayarak ( &) aşağı doğru ( _) değiştirin .5-j

&f^~c>

16 keneler ( f) için, şeridi ( &) yukarı doğru ( ^) bir dalga ( ~) içinde değiştirin, hiçbir etkisi yok, +13, etkisi yok ve -13 ( c) değiştirin.

&6\|4>7

6 kene ( 6) için, &her iki yönde ( |) bant ( ) değiştirin, her seferinde \4 ( 4) azaltın ve 7 ( 7) atlayın . Azalan, ilk seferinde 4, ikinci seferinde 8, vb. Çıkardığı anlamına gelir.


3
Çatlak ama devam ediyor bir açıklama yapmaktan çekinmeyin :)
Jonathan Allan

@JonathanAllan açıklama ekledi, üzgünüm çok uzun sürdü
Stephen

5

JavaScript (ES6), 173 169 163 150 151 148 143 bayt ( kırık )

Tamamen farklı bir şey yapalım ... ve tamamen kötülük .

const e=eval,p=''.split,c=''.slice,v=[].every,f=s=>(t=c.call(s),typeof s=='string'&&t.length<81&&v.call(p.call(t,`\n`),l=>l.length<3)&&e(t)(t))

Kullanımı: f(something) // returns 'Hello, World!'

Çevrimiçi deneyin!




Güzel! Bu gerçek bir çatlak.
Voile

Bunu kırmak gerçekten zordu. Aferin!
DanTheMan

Doğrudan başka bir yerde oluşturduğum bulmacalardan birinden alınır :) (İnsanların orijinal bulmacayı nerede gönderdiğimi anlamasına izin vereceğim.)
Voile

4

C # (.NET Çekirdek) , 130 152 bayt, KIRIK

+22 bayt, sondaki satır sonunu unuttum ... Program eskisi gibi çalışıyor, satırsonu herhangi bir çıktıya ekleniyor.

a=>a.Distinct().Select((x,y)=>a.Reverse().Skip(y).First()*x%255).Take(a.First()-33).Concat(new int[]{10}).Select(x=>(char)x).ToArray()

Çevrimiçi deneyin!

Bayt sayısı ayrıca şunları içerir:

using System.Linq;

Bir başlangıç ​​için çok çılgın olmayan bir şey için gittim. Birden fazla yanıtı olabilir.

"Resmi" çatlak:

. ! $% 0> 5 & 8' #?) S * Sal [MRX` + 9



4

tcc, 89 bayt, Dennis tarafından kırıldı

#!/usr/bin/tcc -run
#include <stdio.h>

int main()
{
    puts("\n");
}
#include "/dev/stdin"

Bu özellikle tcc'nin dinamik çözünürlüğü nedeniyle kötülüktür. Birçok işlev önceden tahmin edilir ve bunların üzerine yazmaya çalışmak işe yaramaz.


İnsanların oynaması için çalışan bir TIO bağlantısı oluşturabilir misiniz? ( Bu hiç şüphesiz eksik - belki derleyici bayrakları falan gerekiyor, hiçbir fikrim yok) TBH Hatta bu nasıl girdi almak bilmiyorum ...?
Jonathan Allan

Tio'nun tcc'si işe yaramayacak. Bunun ayrı bir derleme ve bağlantı aşaması yerine tcc -run olarak kullanılması gerektiği anlaşılamaz.
Joshua

Belki oradan bir kabuk aracılığıyla çalıştırılabilir, bash kullanılabilir (tcc veya bash olsa çok az biliyorum). Aksi takdirde insanların gitmek için bazı ayrıntılı talimatlar vermek gerektiğini düşünüyorum (benim kişisel bilgi eksikliği burada sorun değilse - dediğim gibi ben bile kodunuzu nasıl herhangi bir girdi alır bilmiyorum, tüm gördüğüm bir putsve ben düşündüm çıkışları).
Jonathan Allan

Neredeyse bir çatlak var ama cep telefonuyum ve mprotectpopo oluyorum .
MD XF



4

brainfuck , 7 bayt kırık

,+[.,+]

Çevrimiçi deneyin!

İyi şanslar. (her BF yorumlayıcısında çalışmaz


Girişiniz farklı bant uzunluklarına sahip olanlar da dahil olmak üzere herhangi bir BF yorumlayıcıyla çalışıyor mu? Girişiniz yalnızca TIO'da değil, yerel olarak mı çalışıyor?
Stephen

@StepHen afaik türü herhangi bir uzunluk
Christopher


1
Tasarladığınız çözüm TIO üzerinde çalışıyor mu?
totallyhuman

@totallyhuman teşekkürler, yorum görünüyor böylece profesyonel görünüyor. TIO'ya yazdırılamayan girişlerin nasıl yerleştirileceğini bilmiyorum. Stdin girdisini tek bir printf deyimiyle bir C programından geçtim.
rexroni

3

JavaScript (ES6), 102 bayt ( Çatlamış )

Önceki versiyonda büyük bir peynir var. Bunu tekrar deneyelim ...

f=s=>{let r='',i=0;while(i<13)r+=!s[i][0]||s[i]=='Hello, World!'[i]||s[i++];return r};Object.freeze(f)

Çevrimiçi deneyin!

Yazar çözümü:

yeni Proxy ({v: Dizi (13) .fill (0)}, {get: (o, p) => ['a', '', 'Merhaba, Dünya!' [p]] [ov [p] ++]})

Kullanımı:

var p = yeni Proxy ({v: Dizi (13). dolgu (0)}, {get: (o, p) => ['a', '', 'Merhaba, Dünya!' [p]] [ov [p] ++]}) console.log (f (p))



3

Kübik olarak , 159 bayt ( Çatlak )

+53$!7@6:2/1+551$?7@6:5+52$!7@66:3/1+552$?7@6:5+3/1+4$!7@6:5/1+3$?7@6:5+1/1+54$!7@6:3/1+552$?7@6:5+1/1+552$?7@6:5+52$!7@6:1/1+551$?7@6:5+1/1+3$!7@6:1/1+1$(@6)7

Bu Cubically ile rahat olanlar için oldukça kolay olacak. Çevrimiçi deneyin!


1
Herkes Cubically ile rahat mı? : P
totallyhuman

@totallyhuman Dil alıştıktan sonra dil aslında oldukça basit ve kullanımı eğlenceli!
TehPers

@totallyhuman Herhangi bir dönüş talimatı yok gibi görünüyor, bu yüzden bu sadece 9'un katları ile matematik gibi görünüyor. Çok, çok kıvrımlı matematik.
Robert Fraser

Çatlak? Sanırım istenen girdiyi aldım, ama pek işe yaramadı, ama bir tercüman hatası nedeniyle başarısız olduğuna eminim. Açıklamamı çatlak yazıda görün.
Haklıysam

3

6502 makine kodu (C64), 51 53 bayt ( Çatlak )

00 C0                     .WORD $C000     ; load address
20 FD AE                  JSR $AEFD
20 EB B7                  JSR $B7EB
8A                        TXA
0A                        ASL A
45 14                     EOR $14
8D 21 C0                  STA $C021
45 15                     EOR $15
85 15                     STA $15
49 E5                     EOR #$E5
85 14                     STA $14
8E 18 D0                  STX $D018
A0 00                     LDY #$00
B1 14                     LDA ($14),Y
20 D2 FF                  JSR $FFD2
C8                        INY
C0 0E                     CPY #$0E
D0 F6                     BNE *-8
60                        RTS
C8 45 4C 4C 4F 2C 20 D7   .BYTE "Hello, W"
4F 52 4C 44 21 0D         .BYTE "orld!", $D

Çevrimiçi demo

Kullanım : SYS49152,[x],[n]burada x16bit işaretsiz tam sayı ve n8bit işaretsiz tam sayı.

Giriş 52768 ve 23'tür (SYS49152,52768,23)

İkinci parametre doğrudan D018VIC-II grafik yongasının bir kontrol yazmacına yazılır . Uygun bir referans kullanarak, diğer modları ve ekran belleğinin adresini değiştirmeden küçük harf modunu ayarlamak için oraya ne yazacağınızı belirleyebilirsiniz: $17veya ondalık 23. Bununla, koddaki aritmetiği takip edebilirsiniz, böylece ilk parametre doğru dizgi adresiyle $14/$15(küçük endian) sonuçlanır . Çatlakta daha derinlemesine bir açıklama bulunabilir.

Screenshot

Yanlış değerlerle çağrılan, bir çarpışma olduğu çok muhtemeldir .

Çatlama için, yerel bir mengene kurulumunda çalıştırmak isteyebilirsiniz , bu yüzden emülatöre yapıştırmak için temel bir yükleyici ( RUNprogramı yerleştirmek için $C000):

0fOa=49152to49202:rEb:pOa,b:nE
1dA32,253,174,32,235,183,138,10,69,20,141,33,192,69,21,133,21,73,229,133,20,142
2dA24,208,160,0,177,20,32,210,255,200,192,255,208,246,96,200,69,76,76,79,44,32
3dA215,79,82,76,68,33,13

Güncelleme: Metadaki tartışmayaPRG yanıt olarak bu dosyayı yürütülebilir bir C64 dosyası yapmak için yükleme adresi için iki bayt eklendi


Başlangıçta virgül kontrol işlevini çağırmanız gerektiğinden emin misiniz? Ben b7eb'in de bu kontrolü yaptığı izlenimi altındayım.
Altın Adam

b7ebaramalar aefd, fakat sadece sonra arayarak ad8a(şamandıra (olarak ayrıştırma sayı) (wtf) (MS)!) ve b7f7(şamandıra imzasız int 16bit olduğunu dönüştürme) - Önce çağrı zorunda aefdkendimi ilk virgül tüketen için.
Felix Palmen

Çatlak ! Tatlı tatlı intikam!
Bir Altın Adam

@AGoldMan sonunda yayınımı düzenledi. Yine, aferin! Belki de (haksız olmadan) çatlamak biraz daha zor olan başka bir C64 kodu ile gelebilirim, henüz emin değilim :)
Felix Palmen




2

Jelly, 11 bytes (cracked)

sLƽ$Xṙ5O½Ọ

Try it online!

Intended input:

〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ



@HyperNeutrino Heh that was sneaky, given it lived for over half an hour. ;)
Erik the Outgolfer

Heh that's cuz I only saw it 10 minutes before seeing it ;P
HyperNeutrino



2

Python3, 192 bytes Cracked I guess

from sys import *
from numpy import *
e=enumerate
c='Hello World!'
w=eval(argv[1])
x=[ord(n)+2*i for i,n in e(c)]
print(''.join([c[int(sum([c*cos(n*i)for i,c in e(w)])+.01)]for i,n in e(x)]))

The text it reads is the first program argument: python3 hw.py '[1,2,3]'

Don't be lame and try to put a print("Hello World!") statement as the argument... it prints an error afterwards anyways (at least on the command line), so I don't think that should count. (Edit: somebody did exactly that)


4
Cracked. Lame crack, but unrestricted eval must be punished =)
Sisyphus


2

Lua 5.1, 44 bytes (Cracked)

s=...loadstring(#s>4+#s:gsub("%l","")or s)()

Note that Lua 5.1 is a different language than Lua 5.2 or Lua 5.3. "Try it online" doesn't have Lua 5.1. You can check your Lua version by running print(_VERSION). (There should be a solution in any implementation that uses PUC-Rio's Lua 5.1 core.)

As a test harness, you can use something like this:

function test(...)s=...loadstring(#s>4+#s:gsub("%l","")or s)()end

test[[
This is my input!
It can have multiple lines!
]]

Test harness on repl.it


2

C (GCC on TIO), 84 bytes golfed (Cracked)

#include<stdio.h>
main(x){scanf("%d",&x);printf("%2$s","Hello, World!\n",(void*)x);}

Here's an ungolfed version that works too:

#include <stdio.h>
int main(void)
{
    int x;
    scanf("%d",&x);

    printf("%2$s","Hello, World!\n",(void*)x);
}

2

JavaScript (ES6), 92 bytes (Cracked)

This simple string copy function seems to be really resisting you to copy any strings resembling Hello, World!...

f=s=>{let r='',i=0;while(i<13)r+=s[i]=='Hello, World!'[i]||s[i++];return r};Object.freeze(f)

Try it online!





2

JavaScript (ES6) 107 Bytes [Thanks Евгений Новиков] (Cracked)

i=r=>{for(e="",n=0;r.length>n;o=r.charCodeAt(++n),e+=String.fromCharCode(((3^o^19)<<1^15^13)<<1));return e}

Call on the i function using a string.

The console.log... is for testing purposes.

Try It Online!


Welcome to PPCG! You can save 8 bytes: (1) remove var, (2) () from one arrow-function argument, (3) replace return to eval("") (4) delete ; at the end. 110 bytes solution: pastebin.com/qwdm7fT7 Good luck
Евгений Новиков

Finally got 50 rep, so: Cracked
Voile
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.