"Halo, Dunia!" (Utas polisi)

16

Ini adalah utas polisi. Utas perampok ada di sini .

Tantangan Anda adalah menulis program atau fungsi yang, dengan input tertentu, mencetak string yang tepat Hello, World!dan baris baru. Kapitalisasi, spasi dan tanda baca harus tepat.

Input dapat diambil melalui input standar, file, atau argumen baris perintah / fungsi. Output dapat diberikan melalui nilai balik, menulis ke file, atau output standar.

Program Anda harus mencetak Hello, World!setidaknya satu input. Ketika program Anda diberi input yang salah (yaitu input yang tidak membuatnya mencetak Hello, World!), ia dapat melakukan apa pun yang Anda suka - crash, cetak omong kosong acak, panggil Chuck Norris, dll.

Anda tidak boleh menggunakan algoritma hashing atau metode serupa yang mengaburkan input yang diperlukan.

Pengajuan lebih disukai untuk dapat dijalankan & dapat retak di TIO . Pengajuan yang tidak dapat dijalankan atau retak di TIO diizinkan, tetapi harap sertakan instruksi untuk mengunduh / menjalankannya.

Setelah satu minggu, tantangan ini akan ditutup untuk pengiriman polisi di masa depan. Pemenangnya adalah kode terpendek yang tidak terpecahkan setelah seminggu mempostingnya ("itu" adalah kode, bukan tantangan ini). Pemenang akan diterima setelah dua minggu.

Setelah satu minggu berlalu sejak posting, tandai jawaban Anda aman dan tunjukkan inputnya (dalam a > ! spoiler quote). Jika seorang perampok meretakkan kiriman Anda (sebelum minggu berakhir), harap tandai sebagai retak dan tunjukkan input penghentian (dalam a > ! spoiler quote).

Mencari kiriman yang tidak retak?

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>

MD XF
sumber
Sangat mirip bukan dupe sekalipun.
Post Rock Garf Hunter
13
Seperti yang saya katakan di kotak pasir, saya merasa ini adalah duplikat dari pertanyaan penghentian karena setiap jawaban yang ada dapat diposting di sini tetapi dengan kode untuk dan loop tak terbatas diganti dengan kode untuk mencetak hello world. Saya belum akan memilih karena saya akan palu, tapi saya cukup yakin ini adalah penipuan.
FryAmTheEggman
5
Jelas sha3termasuk dalam kategori itu, tetapi sebaliknya di mana Anda menarik garis? Maksud saya, mod 1e3ini juga merupakan fungsi hash, dan saya bahkan akan melangkah sejauh ini dan berpendapat bahwa banyak kiriman akan menjadi fungsi hash, karena tantangan ini pada dasarnya meminta hal tersebut.
flawr
1
Berdasarkan jawaban yang saya lihat di hari lalu, tidak ada yang muncul yang meyakinkan saya bahwa ini bukan duplikat. Saya akan menutup tantangan polisi untuk saat ini, dan jika komunitas tidak setuju itu dapat dibuka kembali, dan jika masyarakat setuju mereka dapat menutup utas perampok juga.
FryAmTheEggman
1
@Dappapp ini sudah dibahas, di sini (beberapa komentar dihapus) dan dalam obrolan. Jawaban tidak dapat di-copy-paste, atau dengan sangat mudah dipindahkan, dari tantangan ke tantangan ini, jadi itu bukan duplikat.
MD XF

Jawaban:

3

Python 3, 191 186 byte (AMAN!)

Sama seperti jawaban saya sebelumnya, tetapi tanpa pernyataan noob eval, sehingga seseorang benar-benar harus menyelesaikan masalah yang saya buat.

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)]]))

sekarang jalankan dengan parameter yang benar, seperti python3 hw.py 1 2 3


Sunting : versi sebelumnya tidak memiliki koma di "Halo, Dunia!", Dan saya juga menyadari bahwa itu memiliki penghitungan yang tidak perlu, yang sekarang hilang.


Sunting 2 : Hanya untuk bersenang-senang, ini adalah versi Pyth yang hampir identik (47 byte) dari kode yang sama:

KEJ"Hello, World!"[email protected]*b.t*dk1K0.e+*2kCbJ

Input diambil dari stdindan dalam bentuk daftar argumen, seperti[1,2,3]

Saya tidak melihat gunanya memposting jawaban yang terpisah karena jika Anda memecahkan versi Pthyon3, maka Anda juga memecahkan versi Pyth, bahkan tanpa mengetahui Pyth.


Menjawab:

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

Penjelasan kode:

''.join()menciptakan string hello world dari array karakter dari string "Hello, World!". Teka-teki diselesaikan ketika indeks tersebut [0,1,2,3,4,5,6,7,8,9,10,11,12]. Setiap indeks dihitung dari input dan konstanta yang diberikan pada baris perintah. Input-input tersebut adalah seri hard coded:[2*i+ord(c) for i,c in enumerate('Hello, World!')] . Funtion yang berhubungan input, konstanta, dan output (indicies) adalah ini: sum([c*cos(x*i) for i,c in enumerate(CONSTANTS)]). Ini adalah masalah pemodelan klasik, di mana Anda mencoba menyesuaikan data dengan model Anda.

Tiba di solusinya, dengan python:

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

rexroni
sumber
2
Kalau-kalau Anda tidak tahu, literal_eval()dalam astmodul dapat digunakan untuk mengevaluasi ekspresi dengan aman, sehingga masalah print(kode injeksi tidak akan berfungsi. Ini mungkin tidak relevan di sini, tapi saya pikir saya akan menyebutkannya.
Buah Esolanging
2
Anda yakin ini bisa dicetak Hello, World!? Belum retak, tapi sepertinya itu kehilangan tanda koma (hanya 12 iterasi yang tergabung dalam loop)
Uriel
Oh, Anda benar, tidak ada koma. Saya akan memperbaikinya sekarang.
rexroni
@ Challenger5 terima kasih, saya tidak tahu itu.
rexroni
12

TeX - 38 bytes Cracked (ish)

Ini patut dicoba, karena saya tidak bisa membayangkan siapa pun di situs tentang menulis potongan kode pendek akan tahu TeX:

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

Untuk menjalankannya, Anda harus mendapatkan beberapa bentuk TeX yang memungkinkan mode interaktif. Simpan ini ke file, dan jalankan TeX (atau pdfTeX, XeTeX, dll.) Di atasnya.

Sunting: Saya sedang mempertimbangkan ini semi-retak. Solusi yang dimaksud menggunakan input dari stdin, tetapi input TeXnically dari cara program dipanggil valid. Saya akan menambahkan jawaban TeX yang lebih licik jika seseorang mendapatkan metode yang dimaksud.

Inilah solusi yang dimaksud:

^ C Ia - Kunci pertama adalah control-c, yang menyebabkan kesalahan. Kemudian, Anda menekan I (huruf kapital i) untuk memasukkan perintah. Kemudian Anda mengetikkan (atau apa pun yang akan diketik). Biasanya, pesan yang dicetak ke stdout akan diikuti oleh spasi dan kemudian ')'. Ketika Anda mengetik sesuatu, itu menyebabkan informasi font menjadi output setelah pesan. Itu berarti bahwa baris baru dilemparkan, dan ')' akan dipindahkan nanti.

Itu mungkin curang, tetapi harus tetap dalam aturan permainan.

Seorang Pria Emas
sumber
Selamat datang di PPCG. Jawaban pertama yang bagus
Евгений Новиков
Bukankah sudah cukup untuk menggunakan tex \ Hello, world!\bye(23 byte)?
Werner
@ Werner yang akan memungkinkan input pengguna?
A Gold Man
Apakah ini sebenarnya dimaksudkan untuk dipecahkan? : o
Felix Palmen
3
texnicallyya ampun.
MD XF
7

> <> , 538 byte, Retak karena rexroni

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<
                        ^

Cobalah secara online , atau Anda mungkin ingin menggunakan taman bermain ikan .

Tiga baris pertama membaca dalam string dari STDIN dan menggunakan kode mod mod 26 sebagai koordinat untuk menempatkan karakter " >/v>v\v</>" ke dalam labirin di bawah ini. Solusi yang dimaksud adalah string 20 karakter yang terbuat dari huruf A – Z saja (walaupun Anda diperbolehkan menggunakan apa pun yang Anda inginkan, tentu saja).

Larutan:

Input yang dimaksud adalah OCEANICWHITETIPSHARK(itu ikan!). Jalan melalui labirin terlihat seperti:

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<
                 |  |   ^

Bukan pohon
sumber
Retak! Membawa saya selamanya.
rexroni
3
Hei, aku curiga jawabannya mungkin sebuah kata, tapi aku tidak berusaha untuk menguraikannya. Aku berdiri bahkan lebih terkesan.
rexroni
6

Oktaf, 59 byte, Retak

Ini bekerja di Octave 4.2.0. Saya tidak dapat menjamin kompatibilitas dengan semua versi.

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

Catatan: Ini tidak mencetak spasi tambahan atau baris baru. Seperti inilah tampilannya:

masukkan deskripsi gambar di sini

Ini pada dasarnya mengatakan: "Cetak string input, kecuali inputnya adalah 'Hello, World!', Dalam hal ini seharusnya tidak mencetak apa-apa (atau karakter nol).

Stewie Griffin
sumber
Saya tidak yakin apakah %cberarti tali atau arang ... mungkin Anda sedang sesuatu bersembunyi? Juga *~membuat saya agak curiga ...
Erik the Outgolfer
Saya tidak yakin, tapi retak ?
ბიმო
@BruceForte mencetak byte nol pada akhir output, saya tidak yakin itu valid ... tautan
MD XF
1
Saya cukup yakin solusi yang dimaksud adalah hal semacam ini .
Jonathan Allan
1
@BruceForte, tidak. tidak ada \n. Saya pikir teks pertanyaan mengatakan " opsional membuntuti baris baru ".
Stewie Griffin
5

CJam , 7 byte ( retak )

q5/:i:c

Cobalah online!

Masukan yang dimaksudkan:

65608656376564465644656476558065568656236564765650656446563665569

Erik the Outgolfer
sumber
Retak
Jonathan Allan
@Jonathan Allan Darn! Tapi itu bukan input yang dimaksudkan.
Erik the Outgolfer
5

MATL , 6 byte. Retak

tsZp?x

Cobalah online!

Luis Mendo
sumber
Retak , tetapi jika ini bukan solusi yang dimaksudkan, rasanya agak seperti curang.
Dennis
@ Dennis Solusi yang dimaksud adalah ['Hello,' 1 'World!']. Kenapa selingkuh? :-( Dok / bantuan untuk Dmengatakan Sebagian besar karakter input di bawah 32 digantikan oleh spasi
Luis Mendo
Maksud saya curang pada bagian saya, mengubah baris LF menjadi baris CR + LF.
Dennis
@ Dennis Ah, begitu. Yah, saya pikir itu juga berlaku
Luis Mendo
5

Meledak , 23 byte, Retak

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

Lebih banyak datang, ini baru awal> :)

Cobalah online!

Penjelasan Penjelajah

Ada empat penjelajah dalam program ini. Saya tidak sepenuhnya yakin bahwa wait ( >) berfungsi dengan benar.

@_?

Baca input pengguna ( ?), tulis dan rentangkan kaset ( @) ke bawah ( _).

&4_-j>5

Untuk 4 ticks ( 4), modifikasi kaset ( &) ke bawah ( _), lompati 5 ( 5), dengan mengurangi ( -) 19 ( j).

&f^~c>

Untuk 16 ticks ( f), modifikasi tape ( &) ke atas ( ^) dalam gelombang ( ~), bergantian tidak mempengaruhi, +13, tidak mempengaruhi, dan -13 ( c).

&6\|4>7

Untuk 6 ticks ( 6), modifikasi tape ( &) di kedua arah ( |), menurun ( \) oleh 4 ( 4) setiap kali, dan melompat dengan 7 ( 7). Decreasing artinya mengurangi 4 pertama kali, 8 kali kedua, dll.

Stephen
sumber
3
Retak tetapi merasa bebas untuk memberikan penjelasan tentang kejadian pada :)
Jonathan Allan
@JonathanAllan penjelasan menambahkan, maaf saya sudah lama
Stephen
5

JavaScript (ES6), 173 169 163 150 151 148 143 byte ( Retak )

Mari kita memiliki sesuatu yang sama sekali berbeda ... dan benar - benar jahat .

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))

Pemakaian: f(something) // returns 'Hello, World!'

Cobalah online!

Voile
sumber
Mari kita lanjutkan diskusi ini dalam obrolan .
Евгений Новиков
Cracked
DanTheMan
Bagus! Benar-benar celah.
Voile
Ini sangat sulit untuk dipecahkan. Kerja bagus!
DanTheMan
Ini langsung diambil dari salah satu teka-teki yang saya buat di tempat lain :) (Saya akan membiarkan orang mencari tahu di mana saya memposting teka-teki asli.)
Voile
4

C # (.NET Core) , 130 152 byte, CRACKED

22 byte, saya lupa tentang mengikuti baris baru ... Program bekerja sama seperti sebelumnya, baris baru ditambahkan ke output apa pun.

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()

Cobalah online!

Hitungan byte juga termasuk

using System.Linq;

Sebagai permulaan saya pergi untuk sesuatu yang tidak terlalu gila. Itu dapat memiliki beberapa jawaban.

Celah "resmi":

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

Grzegorz Puławski
sumber
2
Cracked
Kamil Drakari
4

tcc, 89 bytes, cracked by Dennis

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

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

This is particularly evil due to tcc's dynamic resolution. Lots of functions are predeclared and trying to overwrite them simply doesn't work.

Joshua
sumber
Could you create a working TIO link for people to play with? (this is no doubt incomplete - maybe it needs compiler flags or something, I have no idea) TBH I don't even know how this is meant to take input...?
Jonathan Allan
Tio's tcc is not going to work. It doesn't get that this must be used as tcc -run rather than a separate compile and link phase.
Joshua
Maybe it's runnable via a shell through there then, bash is available (I know very little regarding either tcc or bash though). Otherwise I think you should give some detailed instructions to get people going (unless my personal lack of knowledge is the issue here - as I said I don't even know how your code gets any input, all I see is a puts and I thought that outputs.)
Jonathan Allan
Almost have a crack but I'm on mobile and mprotect is being a butt.
MD XF
cracked
Dennis
4

brainfuck, 7 bytes cracked

,+[.,+]

Try it online!

Good luck. (doesn't work with every BF interpreter

Christopher
sumber
Does your input work with any BF interpreter, including ones with different tape lengths? Does your input work locally, and not just on TIO?
Stephen
@StepHen any length of type afaik
Christopher
cracked
rexroni
1
Does your intended solution work on TIO?
totallyhuman
@totallyhuman thanks, edited the comment so it looks pro. I don't know how to put non-printable input on TIO. I passed input on stdin from a C program with a single printf statement.
rexroni
3

JavaScript (ES6), 102 bytes (Cracked)

The previous version has a massive cheese. Let's try this again...

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)

Try it online!

Author solution:

new Proxy({v:Array(13).fill(0)},{get:(o,p)=>['a','','Hello, World!'[p]][o.v[p]++]})

Usage:

var p=new Proxy({v:Array(13).fill(0)},{get:(o,p)=>['a','','Hello, World!'[p]][o.v[p]++]}) console.log(f(p))

Voile
sumber
Cracked
Birjolaxew
3

Cubically, 159 bytes (Cracked)

+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

This will be pretty easy to those who are comfortable with Cubically. Try it online!

MD XF
sumber
1
Is anybody comfortable with Cubically? :P
totallyhuman
@totallyhuman The language is actually pretty simple once you get used to it, and it's fun to use!
TehPers
@totallyhuman It looks like there aren't any turning instructions, so this seems like mostly just math with multiples of 9. Very, very convoluted math.
Robert Fraser
Cracked? I think I got the intended input, but it doesn't quite work, but I'm pretty sure it fails due to an interpreter bug. See my explanation in crack post. If I am right, then you were right that it was actually darn easy : )
rexroni
3

6502 machine code (C64), 51 53 bytes (Cracked)

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

Online demo

Usage: SYS49152,[x],[n], where x is a 16bit unsigned integer and n is an 8bit unsigned integer.

Input is 52768 and 23 (SYS49152,52768,23)

The second parameter is directly written to D018, a control register of the VIC-II graphics chip. Using a suitable reference, you can deduce what to write there for setting lowercase mode without changing other modes and the address of the screen memory: $17, or decimal 23. With that, you can follow the arithmetics in the code, so the first parameter ends up with the correct string address in $14/$15 (little-endian). A more in-depth explanation can be found in the crack.

Screenshot

Invoked with wrong values, a crash is very likely.

For cracking, you might want to run it in a local installation of vice, so here's a BASIC loader to paste into the emulator (RUN it to place the program at $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

Update: Added two bytes for the load address to make this an executable C64 PRG file in response to the discussion on meta

Felix Palmen
sumber
Are you sure you need to call the comma checking function at the beginning? I'm under the impression that b7eb does that check, too.
A Gold Man
b7eb calls aefd, but only after calling ad8a (parse number as float (!)(wtf)(MS)) and b7f7 (convert that float to 16bit unsigned int) -- so I have to first call aefd myself for consuming the first comma.
Felix Palmen
Cracked! Sweet sweet vengeance!
A Gold Man
@AGoldMan finally edited my post. Again, well done! Maybe I can come up with another C64 code that's a bit harder to crack (without being unfair), not sure yet :)
Felix Palmen
2

Python 2, 63 bytes, cracked

Just to get the ball rolling...

#coding:rot13
cevag vachg()==h'Hello, World!'naq'Hello, World!'

Try it online!

totallyhuman
sumber
1
Is it generally accepted for the OP to crack submissions?
MD XF
1
cracked
Post Rock Garf Hunter
3
That's interesting... I hadn't realized any "normal" language supports coding in ROT13 o_o
ETHproductions
13
@Arnauld And you're claiming PHP is a normal language?
NoOneIsHere
1
@NoOneIsHere Er... no. My bad. :-P
Arnauld
2

Pyth, 18 bytes (Cracked)

IqGQ"Hello, World!

This is extremely easy, and anyone that knows Pyth would crack it in the blink of an eye, but still... Note that you must put the String between quotes.

Try it online!

Mr. Xcoder
sumber
If anyone cracks it, please edit in yourselves.
Mr. Xcoder
Cracked?
totallyhuman
1
@totallyhuman Yep
Mr. Xcoder
2

JavaScript (Browser only), 95 bytes (Cracked)

try{a=JSON.parse(prompt());try{a=='[object Object]'}catch(a){alert('Hello, World!')}}catch(a){}

Not too hard. Has multiple solutions.


sumber
@Maltysen. That was fast! :)
2

Jelly, 11 bytes (cracked)

sLƽ$Xṙ5O½Ọ

Try it online!

Intended input:

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

Erik the Outgolfer
sumber
Cracked
HyperNeutrino
@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

05AB1E, 20 bytes (Cracked)

Shouldn't be too hard though:

•GG∍Mñ¡÷dÖéZ•2ô¹βƵ6B

Uses the 05AB1E encoding. Try it online!

Adnan
sumber
1
cracked
Jonathan Allan
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)

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

Jelly,  20  21 bytes (Cracked)

+1 byte - "...and a trailing newline"

œ?“¥ĊɲṢŻ;^»œ?@€⁸ḊFmṪ⁷

Try it online!

There are, in fact, infinite solutions.

Jonathan Allan
sumber
I think I cracked this. My crack works with the which is for some reason missing from the TIO link, so I hope I didn't confuse myself.
tehtmi
Sorry about the TIO mistake!
Jonathan Allan
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

tehtmi
sumber
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);
}
MD XF
sumber
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!

Voile
sumber
2

Röda, 71 bytes (Cracked)

{[[head(_)]..[unpull(1)if[_1>1]]]|[_()|chars|unorderedCount|[_*(_-1)]]}

Try it online!

Usage: push(/* input */) | f() (where f is a variable that holds the function above).

fergusq
sumber
Cracked
Kritixi Lithos
2

JavaScript (ES6), 135 119 bytes, (Cracked)

const t='Hello, World!',g=q=>eval(`(function(p,q${q}){return eval(p),eval(q)})`),f=s=>g('')(s,0)==t&&g('=1')(s,0)!=t&&t

Try it online!

Voile
sumber
Cracked
Birjolaxew
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!

Ephellon Dantzler
sumber
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