การทำให้งงงวยท้าทาย [ปิด]


24

คุณต้องเขียนโปรแกรมที่ทำสิ่งใดสิ่งหนึ่งต่อไปนี้

  1. แสดงเฉพาะ "Hello World" เท่านั้นไม่ทำอะไรเลย
  2. ออกและไม่มีอะไรอื่น (ไม่มีเอาต์พุตไม่มีข้อผิดพลาด)
  3. รับอินพุตหนึ่งบรรทัดแยกวิเคราะห์เป็นจำนวนเต็มแสดงครั้งแรกที่มีหลายช่วงเวลา (หรือให้ข้อผิดพลาดที่ดีถ้ามีการป้อนข้อมูลที่ไม่สามารถแยกวิเคราะห์เป็นจำนวนเต็มหรือน้อยกว่า 0)
  4. กำหนดอินพุตหนึ่งบรรทัดแยกวิเคราะห์ว่ามีสัญลักษณ์หุ้นและตรวจสอบออนไลน์เพื่อดูมูลค่าสต็อคปัจจุบันและการเปลี่ยนแปลง

การจับก็ไม่ควรที่จะเห็นได้ชัดว่ามันทำหน้าที่อะไร สำหรับคนที่ดูโค้ดของคุณก็ไม่ควรที่จะรู้ว่าฟังก์ชั่นนี้จะทำอะไร ยิ่งไปกว่านั้นมันอาจทำงานได้และสามารถทำหน้าที่เดียวเท่านั้น (ไม่สามารถเลือกและเลือกได้) โปรแกรมจะพิจารณาได้อย่างไรว่ามีใครบางคนที่ไม่แน่ใจว่ามันดูดีแค่ไหนเกี่ยวกับหน้าที่ของมันและความคุ้นเคยที่ คนนั้นใช้ภาษานั้น

โบนัส: หากคุณทำอย่างฉลาดทำให้เป็นเช่นนั้นสำหรับคอมไพเลอร์ / ผู้แปลและแพลตฟอร์มโปรแกรมใดโปรแกรมหนึ่งจะทำหน้าที่เหมือนกันคอมไพเลอร์ / ล่ามหรือแพลตฟอร์มที่แตกต่างกันมันจะทำหน้าที่แตกต่างกัน โบนัสนี้สามารถรวบรวมได้ถ้าทำได้อย่างชาญฉลาด

โบนัส: หากโปรแกรมของคุณมีรหัสที่สามารถใช้งานได้หนึ่งฟังก์ชั่นเท่านั้น (ไม่ต้องบันทึกอะไรเลยเนื่องจากโค้ดที่ว่างเปล่านั้นมีความสามารถนั้น) และเป็นไปไม่ได้ที่จะทำการแก้ไขอย่างง่ายที่ไม่เกี่ยวข้องกับฟังก์ชั่น ตัวอย่างเช่น: ถ้าคุณทำ

obfuscatedBool = 1g8uhad'l8fygrcetdu8y4fd/,.oe87fy4d --Magic
if obfuscatedBool: print "Hello World"

จะไม่นับว่า obfuscatedBool สามารถทำให้เป็น True หรือ False เพื่อให้พิมพ์ "Hello World" หรือไม่ทำอะไรตามลำดับ

โบนัสอินฟินิตี้: หากคุณได้รับโบนัสทั้งสองพร้อมกันแสดงว่าคุณเป็นเวทมนตร์

โบนัสเป็นลบ: การใช้ไลบรารีที่มีความสามารถเฉพาะในการทำหน้าที่

ผู้มีสิทธิเลือกตั้งใช้โบนัสในการพิจารณาเนื่องจากโปรแกรมที่มีคะแนนโหวตมากที่สุดชนะ!

หมายเหตุ: ถ้าคุณพูดว่าโปรแกรมของคุณทำอะไรให้แน่ใจว่าใช้สปอยเลอร์ซินแท็กซ์!


2
พูดตามตรงฉันไม่เข้าใจคำถามส่วนใหญ่ ฉันจะไปต่อและจะบอกว่าฉันเข้าใจแค่ 4 คะแนนเท่านั้น
Ismael Miguel

จัดทำโปรแกรมเพื่อทำสิ่งใดสิ่งหนึ่งจาก 4 อย่าง แต่ไม่มีใครรู้อะไร
PyRulez

25
แล้วโบนัสล่ะ? อย่างจริงจังแม้คำถามจะสับสน
Ismael Miguel

4
เนื่องจากนี่เป็นการแข่งขันที่ได้รับความนิยมโบนัสคืออะไร?
Ismael Miguel

1
@MukulKumar - เช่นเดียวกับที่ฉันมีเหตุผล
TheDoctor

คำตอบ:


43

ช่องว่าง / brainfuck / หลาม

'''เริ่ม''''''''''''  
หลัก (args) {   	  	   
	parseArgs = args.Find ( '^ ^ ++++++++ [<++++ [<++ <+++ <+++ <+ >>>> az] <+ <+ <AZ [ >]> 0-9] << <--- * $ ')..;
    สำหรับ (int i = 0; ช่วง (GetLength (parseArgs)); i ++) {validateArg (parseArgs (i));}  	 	
	//ชื่อ
    สตริง stockName = "";		 		  
	// ห่วง
    สำหรับ (int i = 0; ช่วง (GetLength (parseArgs)); i ++) {		 		  
	// ตรวจสอบ
     	ถ้า (matchFound = ค้นหา ( 'A + Z + A + .Z.0 + 9 + _ +. << * $') {	 				
	// พบ
     	parseArgs (i) .Split ( '> -> +..');}     
	
     	สำหรับ (int j = 0; ช่วง (GetLength (parseArgs (i))); j ++) {	 			
	// ดาวน์โหลด
    data = ConvertTo.String (eval ("curl -get http://some-stock-ticker-source-url-here.com"));	 				
	พิมพ์;
    พิมพ์ข้อมูล;			  	 
	
    // ตัวแยกบรรทัด		 		  
	
    พิมพ์ "--------.";		  	  
	}}
}  


''เสร็จสิ้น'''''''''''''''

Wikipedia: Whitespace (ภาษาโปรแกรม)
Online Whitespace Interpreter เป็นคำตอบในการทดสอบ
Brainfuck Interpreter เป็นคำตอบในการทดสอบ

เอาท์พุท (ช่องว่าง / Brainfuck):

สวัสดีชาวโลก
Ouput (Python):
ไม่มีอะไร แต่ทำงานได้สำเร็จ


2
นี่มันเจ๋งจริงๆ! ฉันคิดว่าคุณควรอัปเดตคำอธิบาย ไม่ใช่รหัสที่ชัดเจนของโปรแกรมที่สามที่ทำอะไรบางอย่างเกินไป นอกจากนี้หากคุณสามารถเปลี่ยนหนึ่งใน brainfuck หรือช่องว่างเพื่อดำเนินการอย่างใดอย่างหนึ่งของฟังก์ชั่นอื่น ๆ ฉันจะให้โบนัสอินฟินิตี้!
SebastianH

1
โปรแกรมที่ถูกทำเป็นภาษาอะไร
durron597

1
@ durron597 มันเป็นไฮบริด C # และ Python ที่แปลก ฉันจะทำทั้งหมดใน C # แต่มันยากที่จะทำให้การทำงานของไวยากรณ์ตลอดทาง
grovesNL

@SebastianH มันเป็นโปรแกรมที่แกล้งทำเพื่อปกปิดการทำงานของมัน
grovesNL

ฟังก์ชั่น Python โปร่งใสเกินไป หลังจากที่คุณเห็นตัวอักษร 3 ตัวแรกคุณเพียงแค่สแกนส่วนที่เหลือของรหัสเพื่อหาจุดสิ้นสุดของตัวอักษรสตริง
user2357112 รองรับ Monica

40

JS

゚ω゚ノ=/`m´)ノ~┻━┻//*´∇`*/['_'];o=(゚ー゚)=_=3;c=(゚Θ゚)=(゚ー゚)-(゚ー゚);(゚Д゚)=(゚Θ゚)=(o^_^o)/(o^_^o);(゚Д゚)={゚Θ゚:'_',゚ω゚ノ:((゚ω゚ノ==3)+'_')[゚Θ゚],゚ー゚ノ:(゚ω゚ノ+'_')[o^_^o-(゚Θ゚)],゚Д゚ノ:((゚ー゚==3)+'_')[゚ー゚]};(゚Д゚)[゚Θ゚]=((゚ω゚ノ==3)+'_')[c^_^o];(゚Д゚)['c']=((゚Д゚)+'_')[(゚ー゚)+(゚ー゚)-(゚Θ゚)];(゚Д゚)['o']=((゚Д゚)+'_')[゚Θ゚];(゚o゚)=(゚Д゚)['c']+(゚Д゚)['o']+(゚ω゚ノ+'_')[゚Θ゚]+((゚ω゚ノ==3)+'_')[゚ー゚]+((゚Д゚)+'_')[(゚ー゚)+(゚ー゚)]+((゚ー゚==3)+'_')[゚Θ゚]+((゚ー゚==3)+'_')[(゚ー゚)-(゚Θ゚)]+(゚Д゚)['c']+((゚Д゚)+'_')[(゚ー゚)+(゚ー゚)]+(゚Д゚)['o']+((゚ー゚==3)+'_')[゚Θ゚];(゚Д゚)['_']=(o^_^o)[゚o゚][゚o゚];(゚ε゚)=((゚ー゚==3)+'_')[゚Θ゚]+(゚Д゚).゚Д゚ノ+((゚Д゚)+'_')[(゚ー゚)+(゚ー゚)]+((゚ー゚==3)+'_')[o^_^o-゚Θ゚]+((゚ー゚==3)+'_')[゚Θ゚]+(゚ω゚ノ+'_')[゚Θ゚];(゚ー゚)+=(゚Θ゚);(゚Д゚)[゚ε゚]='\\';(゚Д゚).゚Θ゚ノ=(゚Д゚+゚ー゚)[o^_^o-(゚Θ゚)];(o゚ー゚o)=(゚ω゚ノ+'_')[c^_^o];(゚Д゚)[゚o゚]='\"';(゚Д゚)['_']((゚Д゚)['_'](゚ε゚+(゚Д゚)[゚o゚]+(゚Д゚)[゚ε゚]+(゚Θ゚)+(゚ー゚)+(゚Θ゚)+(゚Д゚)[゚ε゚]+(゚Θ゚)+((゚ー゚)+(゚Θ゚))+(゚ー゚)+(゚Д゚)[゚ε゚]+(゚Θ゚)+(゚ー゚)+((゚ー゚)+(゚Θ゚))+(゚Д゚)[゚ε゚]+(゚Θ゚)+((o^_^o)+(o^_^o))+((o^_^o)-(゚Θ゚))+(゚Д゚)[゚ε゚]+(゚Θ゚)+((o^_^o)+(o^_^o))+(゚ー゚)+(゚Д゚)[゚ε゚]+((゚ー゚)+(゚Θ゚))+(c^_^o)+(゚Д゚)[゚ε゚]+(゚ー゚)+((o^_^o)-(゚Θ゚))+(゚Д゚)[゚ε゚]+(゚Θ゚)+(゚Θ゚)+(c^_^o)+(゚Д゚)[゚ε゚]+(゚Θ゚)+(゚ー゚)+((゚ー゚)+(゚Θ゚))+(゚Д゚)[゚ε゚]+(゚Θ゚)+((゚ー゚)+(゚Θ゚))+(゚ー゚)+(゚Д゚)[゚ε゚]+(゚Θ゚)+((゚ー゚)+(゚Θ゚))+(゚ー゚)+(゚Д゚)[゚ε゚]+(゚Θ゚)+((゚ー゚)+(゚Θ゚))+((゚ー゚)+(o^_^o))+(゚Д゚)[゚ε゚]+(゚ー゚)+(c^_^o)+(゚Д゚)[゚ε゚]+(゚Θ゚)+((o^_^o)-(゚Θ゚))+((゚ー゚)+(o^_^o))+(゚Д゚)[゚ε゚]+(゚Θ゚)+((゚ー゚)+(゚Θ゚))+((゚ー゚)+(o^_^o))+(゚Д゚)[゚ε゚]+(゚Θ゚)+((o^_^o)+(o^_^o))+((o^_^o)-(゚Θ゚))+(゚Д゚)[゚ε゚]+(゚Θ゚)+((゚ー゚)+(゚Θ゚))+(゚ー゚)+(゚Д゚)[゚ε゚]+(゚Θ゚)+(゚ー゚)+(゚ー゚)+(゚Д゚)[゚ε゚]+(゚ー゚)+((o^_^o)-(゚Θ゚))+(゚Д゚)[゚ε゚]+((゚ー゚)+(゚Θ゚))+(゚Θ゚)+(゚Д゚)[゚o゚])(゚Θ゚))('_');

การแจ้งเตือน "Hello World" ได้
รับคำตอบที่/codegolf//a/3946/803
เนื่องจากฉันไม่ได้มาพร้อมกับคำตอบนี้ทำให้เป็นชุมชนวิกิ


28
คุณแน่ใจหรือไม่ว่านี่ไม่ใช่ APL
mniip

2
@mniip โอ้ใช่แล้ว !! มันคือ JS การสาธิตjsfiddle.net/7mqL8
ไคลด์ Lobo

11
ฉันเห็นรอยยิ้มทุกที่ ..
Thorkil Holm-Jacobsen

1
นี่คือการใช้ Unicode ใน JavaScript ที่ดีที่สุดที่ฉันเคยเห็น!
โคลจอห์นสัน

4
+1 (o^_^o)สำหรับรอยยิ้ม:
Amal Murali

31

แอสเซมบลี MS-DOS x86

เพราะมันไม่ได้ทำให้งงงวยเมื่ออยู่ในสภาลองทำให้มันแย่ลง! นี้ควรทำงานร่วมกับผู้ประกอบการใด ๆ ที่สามารถรวบรวมไปยังไฟล์ COM แต่ผมได้ทดสอบเฉพาะกับ TASM สำหรับ DOS ใช้tasm obfuse,tlink /t obfuse

.286
CODE SEGMENT
ASSUME CS:code, DS:code
ORG 0100h

start:
.586

xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor edi, edi
xor esi, esi
stc
pushfd
rcr di, 8
mov cx, 35
cli
push edi
xor word ptr [di + 8], 2720
pushfd
sub bx, 64512
rcr ebx, 11
sub word ptr [di + 125], 61702
pop eax
dec dx
and word ptr [di + 4], cx
mov ecx, eax
sub byte ptr [di + 124], 21
xor eax, ebx
push eax
xor byte ptr [di + 127], 240
popfd
xor dword ptr [di], 179066414
pushfd
xor byte ptr [di + 11], dl
pop eax
mov bp, 8268
xor byte ptr [di + 123], 110
pop edx
add byte ptr [di + 10], 49
popfd
sti
and ecx, ebx
or word ptr [di + 4], bp
and eax, ebx
xor word ptr [di + 6], 23601
cmp eax, ecx
db 'u', 5
dec cl
movsx dx, cl
int 32

CODE ENDS
END start

นี่คือรหัสการแก้ไขตัวเองที่ทำหลายสิ่ง:
1) มันปรับเปลี่ยน 12 ไบต์แรกเป็น 'Hello World [เครื่องหมายดอลลาร์]'
2) มันปรับเปลี่ยนดูเหมือน 'out cl' และ 'movsx dx cl' เป็น 'nop ',' mov ah, 9 ',' int 021h '
3) ทุกอย่างสลับกันอย่างมากภายในกันและกัน นี่ยังทำการทดสอบค่าสถานะเพื่อดูว่า CPU ของคุณรองรับ CPUID
4) ค่า Hex ที่แปลงเป็นทศนิยมหรือไม่ดังนั้นคุณจึงไม่มีเงื่อนงำ ...
5) แม้ว่าคุณจะใช้ CPU หรือไม่ก็ใช้ xor หรือและและ sub เพื่อแก้ไขค่าที่มีอยู่ รหัสเป็นค่าที่ถูกต้อง ไม่มีค่าโดยตรง
6) หาก CPU ของคุณไม่รองรับ CPUID (ไม่ใช่ Pentium หรือสูงกว่าให้ดูตัวอย่างจาก DOSBox) คุณจะเห็น "Hello World" มิฉะนั้นจะไม่มีอะไรเกิดขึ้น


25
การเขียนโปรแกรมใน Assembler ทำให้งงงวยพอ! xD
SebastianH

25

C

int puts(const char *s) {
  char error[] = "Error: invalid number\n";

  int a, b=0, c=0, i, j;
  scanf("%d", &b);

  if (b<1) {
     printf(error);
  }

  for (i=2; c<b; i++) {
     int z=1;
     for (j=2; j<i; j++) {
        z = z&&(i%j);
     }
     if (z) {
        printf("%d\n", i);
        c++;
     }
  }
}

int main () {
  printf("Hello World\n");
}

เมื่อgccใช้การตั้งค่าเริ่มต้นสิ่งนี้จะทำสิ่งที่สำคัญ การใช้คุณจะได้รับtcc Hello Worldคอมไพเลอร์ AC อาจเขียนการprintf("String\n")โทรเข้าputs("String")ใหม่ นี้จะมีประสิทธิภาพมากขึ้น putsแต่ก็ไม่ถือว่าไม่มีใครเขียนของตัวเอง คอมไพเลอร์ไม่จำเป็นต้องทำเช่นนี้ดังนั้นขึ้นอยู่กับคอมไพเลอร์และการตั้งค่าคอมไพเลอร์ของคุณคุณจะได้รับHello Worldช่วงเวลาหนึ่งหรือหลายช่วง การprintfโทรเข้าputsจะไม่ได้รับผลกระทบเนื่องจากไม่ตรงกับแม่แบบที่แน่นอน ฉันคิดว่าฉันมีสิทธิ์ได้รับโบนัส


16

LOLCODE

ภาษานี้ยุ่งเหยิงไปแล้วโดยตัวมันเอง นี่คือรหัสของฉัน:

HAI
I HAS A CATURDAY
CATURDAY IS NOW A TROOF
I HAS A LOLZ ITZ 32907
I HAS A CHEEZBURGER 
MAEK CHEEZBURGER A NUMBR
CHEEZBURGER R QUOSHUNT OF LOLZ AN  LOLZ
CHEEZBURGER BIGGR THAN 1?, O RLY?
YA RLY BTW RLY LOLZ
CATURDAY R WIN 
OBTW EVERYDAY IS CATURDAY 
ME LIKEZ CATURDAY!!1!
TLDR
CHEEZBURGER R QUOSHUNT OF LOLZ AN CHEEZBURGER
NO WAI
CATURDAY R FAIL BTW LOLZ!!1!
I HAS A LIMIT ITZ 10
CHEEZBURGER R 0
OIC 
IM IN YR LOOP
CHEEZBURGER, WTF?
OMG 1
VISIBLE "Hello World!" 
OMGWTF
CATURDAY R FAIL
OIC
GTFO
IM OUTTA YR LOOP
KTHXBYE

รหัสนี้หยุดทำงานและไม่ทำอะไรเลย (ไม่มีเอาต์พุตไม่มีข้อผิดพลาด) แต่ถึงแม้ว่ามันจะไม่ทำอะไรเลยมันก็ทำงานได้อย่างมีเสน่ห์ (ทดสอบกับเวอร์ชันที่มีVISIBLE "test"ข้อความก่อนหน้าคำสั่งสุดท้ายKTHXBYEซึ่งพิสูจน์ว่าทุกอย่างเรียบร้อย) โดยทั่วไปจะประกาศตัวแปรเปลี่ยนประเภทของพวกเขาเข้าสู่ลูปและ ifs และกรณีสร้างแม้จะมีบรรทัดที่จะพิมพ์ "Hello World!" ถ้าเคยไปถึง (ถ้ามาถึงเท่านั้น ... ) การคำนวณเสียทั้งหมด :)


1
หากคุณต้องการคุณสามารถทดสอบได้ที่นี่
gilbertohasnofb

10

JavaScript (ES6)

การใช้ pragma black magicเพื่อเปิดเผยพลังที่แท้จริงของ JavaScript:

var WKRBD='';
var DIJqZ=(gFJLA=WKRBD,i=29)=>(
  "use black magic", 
  gFJLA=WKRBD.concat(gFJLA),
  [String.fromCharCode((c.charCodeAt()-61)^gFJLA[i++].charCodeAt())for(c of gFJLA.substr(1,11))].join('')
);
DIJqZ(DIJqZ);

เอาท์พุท:

Hello World

คำอธิบาย:

จริงๆแล้วโปรแกรมนี้ค่อนข้างเรียบง่ายและสามารถสรุปได้ว่าเป็นซอลเบลโลว์
ทุกอย่างอื่นถ้าน้ำตาล syntactic!

var dummy = function() {
  var output = '';
  var a = 'gFJLA=WKRBD';
  var b = 'black magic';

  for (var i = 0; i < a.length; i++) {
    output += String.fromCharCode((a[i].charCodeAt(0) - 61) ^ b[i].charCodeAt(0));
  }

  return output;
};

dummy();

นี่คือเวอร์ชันที่มีคำอธิบายประกอบ:

// Nothing special here.
var WKRBD='';

// Define a new function. Its name doesn't matter.
// But its arguments do!
//   * gFJLA=WKRBD: encoded "Hello World"
//   * i=29: number of characters before "black magic"
var DIJqZ=(gFJLA=WKRBD,i=29)=>(
  // Store the XOR key using a fancy pragma name!
  "use black magic", 
  // Convert gFJLA to String thus it is possible to read 
  // its body and extract the encoded "Hello World".
  gFJLA=WKRBD.concat(gFJLA),
  // Use a generator to decode the message.
  [
    // Generate the decoded character
    String.fromCharCode(
      // Decode the character.
      // gFJLA[i++] retrieves a character from "black magic".
      (c.charCodeAt() - 61) ^ gFJLA[i++].charCodeAt()
    )
    // Iterates over the function body.
    // The extracted part is "gFJLA=WKRBD".
    for(c of gFJLA.substr(1,11))
  // Build the message. Since it is the last expression of 
  // the arrow function, its result is returned.
  ].join('')
);

// Invoke the function and pass itself as the first argument.
DIJqZ(DIJqZ);

มี exxplain หรือไม่ สำหรับปราณ?
masterX244

10

COBOL (IBM Enterprise COBOL)

   ID

หากแสดงให้เห็นว่าโปรแกรมเมอร์ของ IBM Mainframe COBOL เกือบ 100% จะพูดว่า "นั่นไม่ใช่โปรแกรมแม้แต่โปรแกรมที่จะไม่คอมไพล์!" ยิ่งพวกเขามีประสบการณ์มากเท่าไรพวกเขาก็จะคิดว่ามันจะรวบรวมได้น้อยลง

จากนั้นถามว่า "ถ้ามันจะคอมไพล์มันจะทำอะไรดี?" พวกเขาจะพูดว่า "มันจะไม่คอมไพล์ แต่ถ้ามันทำมันจะทำให้เกิดข้อผิดพลาดบางอย่างบางทีภาษาสิ่งแวดล้อมอาจจะให้ U4038 หรืออะไรทำนองนั้น"

จัดการให้สั้นลง มีสี่ส่วนในโปรแกรมภาษาโคบอล การระบุ / ID, สิ่งแวดล้อม, ข้อมูล, ขั้นตอน ปรากฎว่ากระบวนการต้องใช้คำว่ากองและคนอื่นไม่ได้ เดาว่าอันไหนที่ฉันเอาไปก่อนและคิดว่าอีกคำว่า DIVISION นั้นเป็นข้อบังคับ ... ทำให้งงต่อไปเปิดเผยเป็นอย่างอื่น สงสารมันไม่ใช่กอล์ฟ โปรแกรมภาษาโคบอลสองตัว ...

ตกลงใช่คอมไพเลอร์ทำเสียงคร่ำครวญและให้รหัสส่งคืนที่แปด โดยทั่วไปแล้วคนไม่ได้สร้างรหัสวัตถุสำหรับลองใช้งานโปรแกรมที่มีรหัสส่งคืนที่แปดเท่านั้น อย่างไรก็ตามนี่เป็นกรณีที่ไม่มีข้อผิดพลาดระดับ E ที่มีผลต่อโค้ดที่สร้างขึ้น ดังนั้นรหัสจะทำงานโดยไม่มีปัญหาเลยถ้าคุณสร้างมันขึ้นมา
แหล่งที่มาข้างต้นนั้นเทียบเท่ากับสิ่งนี้ได้อย่างมีประสิทธิภาพ:
ID DIVISION
กองบังคับการ GoBack
ซึ่งเพียงกลับไปที่มันมา


2
สปอยเลอร์ครั้งแรกของฉัน มีรหัสอยู่ในนั้น ดองทั้งหมด หนู การวิจัยเพิ่มเติม ...
Bill Woodger

ดองน้อยกว่าเล็กน้อย แต่ก็ยังไม่ดี สายที่นี่ ฉันจะดูว่ามีสปอยเลอร์อีกหรือไม่ที่ฉันสามารถขโมยได้ในวันพรุ่งนี้ เอ่อ ... วันนี้ภายหลัง ID และ PROCEDURE เริ่มต้นในคอลัมน์ที่แปด, GOBACK และ full-stop / period ในคอลัมน์ 12 ID ในต้นฉบับคือคอลัมน์ที่แปดเช่นกันสำหรับข้อมูล
Bill Woodger

9

Java, C ++ - 11 1 โบนัสอ้างสิทธิ์

ไม่แน่ใจว่าฉันได้รับโบนัสทั้งสองหรือไม่

/* *??/
/
#include <iostream>
using namespace std;

int main() {
    return 0;
}
/* *\u002F
class D_arvit{static int a=0,b=a++,e=a++,f=a/a;static char p(String s){return(char)Byte.parseByte(s,a);}public static void main(String[]z){//\u000Along x=e,y=b;String c=((Long)x).toString(),d=((Long)y).toString();char u=p(c+c+d+c+c+d+d),m=p(c+c+d+d+c+d+c),o=(char)(u+a+f);char _=p(c+d+d+d+d+d),$=_++;System.out.print(new char[]{p(c+d+d+c+d+d+d),m,u,u,o,$,p(c+d+c+d+c+c+c),o,(char)(o+a+f),u,(char)(m-f),_});\u000A}}
/\u002A*/

การรับ C ++ ระหว่างโค้ดจาวาที่ฉันเคยใช้กับคำตอบของ Hello World อีกข้อหนึ่งคือ Pain in the ass เอาฉันสักครู่เพื่อหาภาษาที่สองที่เหมาะสมซึ่งฉันสามารถเล่นปาหี่ความคิดเห็นได้ตามต้องการดังนั้นพวกเขาจึงปิด / เปิดใช้งานในภาษาที่แตกต่างกัน


การใช้ Trigraphs เพื่อออกความคิดเห็นใน C ++ นี่มันเรียบร้อย!
FUZxxl

2
ฉันคิดว่ามันเป็นช่องโหว่มาตรฐานอีกอย่างหนึ่ง แค่พูด.
Soham Chowdhury

8

Python 1 ได้รับโบนัสแล้ว

import base64
try:
    a=1/(1/2)
    eval(compile(base64.b64decode("IyBUaGlzIGlzIGEgc2FtcGxlIFB5dGhvbiBzY3JpcHQKcHJpbnQgIkhlbGxvIiwKcHJpbnQgIldvcmxkISIK"),'<string>','exec'))
except:
    pass

ในหลาม 2 1หารด้วยเท่ากับ2 หารด้วยไม่สามารถประเมินได้และส่งค่าการหารด้วยข้อผิดพลาดเป็นศูนย์ ไม่มีสิ่งใดพิมพ์ออกมาและโปรแกรมก็ยังคงยุติลงโดยไม่มีข้อผิดพลาด010

ในหลาม 3 1/2=> 0.5และ=>1/0.5 2.0ไม่มีข้อผิดพลาด Hello, World!ถูกพิมพ์


3
ฉันไม่รู้ว่าสิ่งนี้ทำให้งงงวยเพียงพอ
Hosch250

@ hosch250 ถูกต้องมันไม่สับสนมาก ส่วนที่สองนั้นผิดปกติ
PyRulez

อ้อเข้าใจแล้ว. มันทำอย่างใดอย่างหนึ่งใน Python 2 และอื่น ๆ ใน Python 3
Hosch250

@ hosch250 โอ้ดี อย่างน้อยฉันก็ได้โบนัส ฉันจะไม่รังเกียจถ้าใครบางคนขโมยส่วนโบนัสของคำตอบของฉันและปั้นมัน ฉันจะได้รับเกียรติแม้
Rainbolt

เพียงทำให้งงงวยhello worldในทางใดทางหนึ่งแล้วคุณจะสบายดี
Hosch250

7

ชุด

@echo off&setLocal enableDelayedExpansion&for /L %%a in (2,1,%1)do (set/aa=%%a-1&set c=&for /L %%b in (2,1,!a!)do (set/ab=%%a%%%%b&if !b!==0 set c=1)
if !c! NEQ 1 set l=!l!%%a,)
echo !l:~0,-1!

นี่จะส่งคืนรายการหมายเลขเฉพาะน้อยกว่าค่าที่ป้อน
H: \ uprof> obf.bat 12
2,3,5,7,11

ฉันไม่รู้ว่าการ convoluted นับเป็น obfuscated แม้ว่าจะมีบางแง่มุมของการทำให้งงงวยแน่นอน


โปรแกรมอาจ preform ฟังก์ชันเดียวเท่านั้น
PyRulez

@PyRulez ขออภัยแก้ไขแล้ว
ลุง

2
ฉันยังแนะนำให้ใช้สปอยเลอร์เพื่อให้ผู้คนไม่ทำในทันที
PyRulez

+1 สำหรับ%%%%xD
SebastianH

7

รูบีสเปซ - หรือมันคือช่องว่าง?

ทุกคนสามารถเดาสิ่งที่ฉันทำ คำแนะนำเล็กน้อย: หากคุณต้องการเรียกใช้โปรดคัดลอกรหัสทั้งหมดในกล่องรหัส;)

อัปเดต: การคัดลอกรหัสดูเหมือนจะไม่ทำงานเนื่องจากปัญหาที่เกี่ยวข้องกับ Unicode หรือไม่ การแยกเวอร์ชั่นออนไลน์แล้วคัดลอกรหัสดูเหมือนจะใช้งานได้! มองหาช่องว่าง;)

เวอร์ชั่นออนไลน์

# encoding: utf-8

def method_missing(m, *a)
  $* << (m.to_s.size-1).to_s
end

at_exit do
  eval ($**'').scan(/.../).map(&:to_i).pack('C*')
end

                                                                                                                                                                                                                                                   

เอาท์พุท:

Hello world!

คำอธิบาย:

  • บรรทัดสุดท้ายประกอบด้วยชิ้นส่วนที่ไม่มีช่องว่าง (UTF-8: 160dec) คั่นด้วยช่องว่างปกติ
  • Ruby จัดการกับ chunks ราวกับว่าเป็น method - เนื่องจากไม่มีการกำหนด method ดังกล่าวmethod_missingถูกเรียกใช้ซึ่งจะบันทึกความยาวของ chunks
  • แต่ละอันแต่ละอันแทนหนึ่งหลักของตัวเลขสามหลักซึ่งหมายถึงตัวละคร
  • ในat_exitตัวละครที่เกิดขึ้นจากการเชื่อมโยงตัวเลข ฯลฯ และการแสดงออกของการประเมินในกรณีนี้puts 'Hello world!'
  • แทนที่จะใช้ UTF-8 whitespaces คุณสามารถใช้เครื่องหมายขีดล่างเพื่อการมองเห็นที่ดีขึ้น:
def method_missing(m, *a)
  $* << (m.to_s.size-1).to_s
end

at_exit do
  eval ($**'').scan(/.../).map(&:to_i).pack('C*')
end

__________ ____ _ ____ ____ _ _ _ __ _________ _ __ _____ __ __ __ __ __ __________ __ __ ___ ____ _ __ __ __ _________ _ __ _________ _ __ __ _ __ ___ ________ _ __________ ____ _ ___ ____ _ ______ __ __ _______ __ __ ________ __ __ ___ __ __

การคัดลอกช่องว่างจาก SE ไม่ทำงานเนื่องจากล่ามมาร์กอัปของ SE แทนที่อักขระแท็บที่มีช่องว่าง 4 ช่อง
undergroundmonorail

7

ออกมา

มาสร้าง TASK ใหม่กันดีกว่า

FORTH ok
: TASK
  [ HEX ] 3A91224B. 1F836AFE.  
  4A BASE ! D. D.     
;
TASK Hello World ok

มันแสดงตัวเลข 32- บิตสองตัวในฐาน 74 (4Ah) 74 เพราะเป็นความแตกต่างระหว่าง ASCII "z" และ ASCII "0" บวกหนึ่งดังนั้นฉันสามารถใช้มันเพื่อแสดงคำเล็ก ๆ ที่เริ่มต้นจากตัวเลข หมายเลขแรกคือ "Hello" (1F836AFEh) และหมายเลขที่สองคือ "World" (3A91224Bh) มันพิมพ์ช่องว่างต่อท้ายหลังจากหมายเลข "โลก"

การทำงานจริง


มา ... หนึ่งในไม่กี่ภาษา SHOUTIER กว่า SQL ยินดีต้อนรับสู่เว็บไซต์!
Jonathan Van Matre

3
ฉันลองใน Sinclair-ZX-Spectrum Forth ของฉันแล้วมันใช้งานได้ ...
Mattsteel

1
... และตระหนักว่าการใช้ฐานที่แตกต่างกัน (4F) จะสอดคล้องกับปริศนาอื่น
Mattsteel

6

PHP:

$ word = array ('Heart', 'eagle', 'low', 'เหงา', 'over', 'SPACE', 'Window', 'optimus', 'rotting', 'รายการ', 'Done', ' ! ทำ ');

$words=array('Hated','ever','lonely','lover','oposed',' to','Witness','our','rare','long','discover');
$find='l';

foreach($words as $word)echo($find^(($find&$word)^($find|$word)));

พิมพ์ 'Hello World'
มันจะถอดอักษรตัวที่ 1 จากแต่ละคำในอาเรย์
var $findสามารถมีสตริงไบต์เดียวใด ๆ ที่มี 1 ไบต์
การใช้ค่าที่ยาวขึ้นสำหรับ var $findจะให้ผลลัพธ์ที่แปลก


6
โดยไม่ได้ดูสปอยเลอร์ฉันจะเห็นว่าสายนี้ต้องเชื่อมต่อกับ "Hello World"!
SebastianH

ขออภัยถ้าความพยายามที่สับสนของฉันไม่ดีที่สุด และใช่ลวดลายนั้นง่ายเกินไป แต่อย่างน้อยฉันก็ลองทำอะไรที่แตกต่างออกไป ฉันจะแก้ไขในภายหลังและทำให้ชัดเจนน้อยลงเล็กน้อย
Ismael Miguel

6

brainfuck

print("Hello World")

คำอธิบาย

อย่างน้อยถ้าคอมไพเลอร์ของคุณไม่สนใจคำแนะนำที่ไม่ถูกต้องโปรแกรมนี้ไม่ทำอะไรเลย


คอมไพเลอร์ต้องละเว้นคำสั่งที่ไม่ใช่คำสั่งเนื่องจากนับเป็นความคิดเห็น
MadTux

ฉันรู้ว่าคอมไพเลอร์บางข้อผิดพลาดนั้นถึงแม้ว่าฉันไม่สามารถตั้งชื่อใด ๆ
nyuszika7h

เตือนฉันถึงความท้าทายอื่น ๆ
Qeole

5

C ++ 11

ฉันอ้างสิทธิ์โบนัสสำหรับการพึ่งพาคอมไพเลอร์ - เช่นนี้จะแสดง beahviour ที่แตกต่างกันระหว่าง gcc 4.8 และ gcc 4.9

#include <iostream>
#include <list>
#include <type_traits>
#include <utility>


// Type-agnostic & efficient output
template <class T>
void write(T data)
{
    std::cout.write((char*)&data, sizeof data);
}


// Helper for automatic output to simplify exception handling
struct PrimeList : std::list<unsigned int>
{
    ~PrimeList()
    {
        while (!empty())
        {
            write(front());
            pop_front();
        }
    }
};


// Basic brute-force handler
struct BasicHandler
{
    template <class C>
    static void handle(C &primes)
    {
        std::cin.clear(std::ios_base::failbit); // remove possible non-fatal errors
        std::cin.exceptions(std::ios_base::failbit); // easier error handling
        unsigned int count;  // unsigned so that negatives error out immediately
        std::cin >> count;
        unsigned long long candidate = 1;
        for (unsigned int p = 0; p < count; ++p)
        {
            bool isPrime;
            do {
                ++candidate;
                isPrime = true;
                for (auto prime : primes)
                {
                    if (candidate % prime == 0)
                    {
                        isPrime = false;
                        break;
                    }
                }
            } while (!isPrime);
            primes.push_back(candidate);
        }
    }
};


// Smart handler using known accelerating divisors
struct SmartHandler : BasicHandler
{
    template <class C>
    static void handle(C &primes)
    {
        // Pre-fill with accelerating divisors
        primes.push_back(1819043144u);
        primes.push_back(1867980911u);
        primes.push_back(560229490u);

        BasicHandler::handle(primes);

        // Remove divisors, as they are not primes
        primes.pop_front();
        primes.pop_front();
        primes.pop_front();
    }
};


// Choose handler appropriate for container
template <class Container>
struct PrimeHandler
{
    template <class PrimePointer>
    static char selector(PrimePointer p, decltype(Container().insert(p, *p)));

    static double selector(...);

    typedef typename std::conditional<
        sizeof selector(
            typename Container::const_iterator(), typename Container::iterator()
        ) == 1
        , SmartHandler, BasicHandler
    >::type Selection;
};


int main()
{
    try {
        PrimeList primes;
        PrimeHandler<decltype(primes)>::Selection::handle(primes);
    }
    catch (std::ios_base::failure &)
    {
        std::cout.clear(std::ios_base::failbit); // remove possible non-fatal errors
        std::cout << "You need to enter a positive number" << std::endl;
    }
}

คำอธิบายพึ่งพาผู้แปล:

C ++ 11 เปลี่ยนข้อกำหนดสำหรับฟังก์ชั่นการแทรก () และลบ () ในคอนเทนเนอร์มาตรฐานเพื่อให้พวกเขายอมรับตัววนซ้ำคงที่ซึ่งก่อนหน้านี้พวกเขาต้องการตัววนซ้ำที่ไม่แน่นอน นั่นคือสิ่งที่ PrimeHandler ทำการทดสอบ gcc เปลี่ยนไลบรารี่มาตรฐานให้เป็นไปตามข้อ 4.9 เท่านั้น MSVC 2013 ยังไม่เป็นไปตามมาตรฐาน ฉันไม่รู้เรื่องเสียงดังกราว

คำอธิบายพฤติกรรมทั่วไป:

ฟังก์ชั่น clear (x) ของกระแสไม่ได้ล้างค่าสถานะxแต่ตั้งค่าไว้ ดังนั้นฟังก์ชัน handle () ทำให้กระแสข้อมูลอยู่ในสถานะข้อผิดพลาดดังนั้นความพยายามในการอ่านใด ๆ จะล้มเหลว ในทำนองเดียวกันเอาต์พุตข้อผิดพลาดจะถูกหลีกเลี่ยง
ตัวทำลายเอาต์พุตอัตโนมัติของ PrimeList ทำให้แน่ใจว่าข้อมูลใด ๆ ที่อยู่ในนั้นเขียนเป็นแบบไบนารีไม่ใช่ตัวเลข แน่นอน "ตัวหารอัจฉริยะ" คือ "Hello World!" เข้ารหัสใน ASCII แบบเอนด์เอนด์ และเนื่องจากมีการโยนข้อยกเว้นจะไม่มีการเพิ่มอะไรใน BasicHandler และมีเพียงการเพิ่ม "ตัวหารอัจฉริยะ" ใน SmartHandler (และไม่เคยลบออกเพราะข้อยกเว้นดังกล่าว)


4

Delphi

ไม่แน่ใจว่าสิ่งนี้นับ แต่ฉันจะบอกคุณว่าฉันเห็นความท้าทายนี้
ความคิดของฉันคือการเขียนโค้ดที่จะไม่ใช้สิ่งที่คุณคาดหวัง

program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.sysutils,Generics.Collections;
type
  TMyIntList= TList<integer>;

  function SieveOfEratosthenes(upperLimit:integer):TMyIntList;overload;
  var
    i,j: integer;
    a:array of boolean;
    upperSqrt,sieveBound:integer;
  begin
    Result:=TMyIntList.Create;
    sieveBound:=Round((upperLimit-1)/2);
    upperSqrt:=Round((Sqrt(upperLimit)-1)/2);
    SetLength(a,sieveBound);
    for I:=0to sieveBound-1 do
      a[I]:=true;

    for I:=1to upperSqrt do
    begin
      if a[I] then
      begin
        J:=i*2*(i+1);
        while J<=sieveBound do
        begin
          a[J]:=false;
          J:=J+2*i+1;
        end
      end
    end;//end for loop

    Result.Add(2);

    for I:=1to sieveBound-1do
      if a[i]then
        Result.Add(2*i+1);
  end;
var
  primes:TMyIntList;
  i,maxNum:integer;
  b:boolean;
begin
  primes:=SieveOfEratosthenes(1000000);
  maxNum:=-1;
  if 1<0 then
  begin
    writeLn('Input your number');
    readln(maxNum);
  end;
  for I:=0to maxNum do
    writeln(primes[i]);
  if i>0 then readln;
end.

สิ่งที่ฉันทำคือเขียนโปรแกรมที่หมายถึงการใช้งานฟังก์ชั่น 3 แต่จริงๆแล้วเรียกใช้ฟังก์ชั่น 2 และออกทันทีที่เริ่มต้น
คำแนะนำคือ: SieveOfEratosthenesอัลกอริทึมสำหรับการสร้างช่วงเวลา
Var primesและ รหัสmaxNum
: WriteLn('Input your number');readln(maxNum);
ซึ่งเป็นรหัสที่จะไม่สามารถเข้าถึงได้เนื่องจาก booleans เป็นFalseค่าเริ่มต้น


4

Haskell

import Control.Concurrent
import System.Exit
import System.Time
import Control.Monad

hw = putStrLn "Hello World" 

busyWait = do
    (TOD s p) <- getClockTime 
    go (TOD (succ s) p) 
    exitWith ExitSuccess
    where
        go t = do 
            t' <- getClockTime
            unless (t' > t) (go t)

main :: IO ()
main = forkIO hw >> busyWait

ทำงานกับ GHC แล้วมันจะพิมพ์ Hello World ด้วย Hugs (ซึ่งใช้การทำงานมัลติทาสกิ้งแบบมีส่วนร่วม) มันจะหยุดเสมอโดยไม่ต้องพิมพ์อะไร


4

JS

[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+[!+[]+!+[]+!+[]]+(+(+!+[]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+[+[]])))()

ไม่ทำอะไรเลย ไม่มีข้อผิดพลาด ไม่มีเอาต์พุต


4

Matlab

นี่คือโค้ดที่สามารถประมาณการปฏิบัติงานต่าง ๆ ได้คุณสามารถทำนายการไหลได้หรือไม่?

six=input('input your number or ticker?','s')
six=six(six==6) 

if six
    'Hello World!'
elseif ~six
    try
    primes(str2num(six))
    catch
        urlread(['http://finance.yahoo.com/q?s=' six])
    end        
end

นี่คือคำใบ้:

ไม่ว่าคุณจะใส่หมายเลขหรือทิกเกอร์ตัวใดคุณก็จะอยู่ในจุดเดียวกันเสมอ


1
ไชโยที่ทำให้ยากในการกำจัดฟังก์ชั่นใด ๆ ของ 4
PyRulez

4

อันนี้ทำทั้งโบนัส ดูที่สปอยเลอร์ในท้ายที่สุดเพื่อดูว่ามันทำอะไร

Java / Brainf * ck

//[
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
//]

public class Something {
    private static String magicNumber="1000";

    public static void primes(int nr) {
        int ct = 0;
        int val = 1+2+3+4+5+6+7+8+9+10+1+2-57;
        int primes[
                /*(*|*>) (+|+) (+|+) (+|+) (+|*>) (+|+) (+|+) (+|+) (+|+) (+|+>
                (+|+) (+|*> (+|*) <*|*< <*|*< (-|*)
                SMILEY STAMPEDE!
                */
                ]; //I probably won't use that array anyways... Whatever.
        while (nr > ct) {
            val++;
            boolean isPrime = true;
            for (int i = 2; System.out!=null && val > i; i+=1) {
                if (val % i == Integer.parseInt("0")) {
                    isPrime = false;
                    break;
                }
            }
            if (isPrime) {
                println(val);
                ct++;//>*|*> (*|*>
            }
        }
    }

    public static void main(String[] args) throws IOException {//<*|*< <*|*) I like smileys!
        new Something();

        setMagicNumber(1+(getMagicNumber()+7+9+12+4));
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine();
        try {
            setMagicNumber(getMagicNumber()+3+1+2);
            System.gc();
            setMagicNumber(getMagicNumber()>5 ?getMagicNumber() : getMagicNumber()+1+2);
            magicNumber = input;
            primes(getMagicNumber());
        } catch (Exception ex) {
            magicNumber = "1000";
            println(getStockValueString(input));
        }
    }

    public static String getStockValueString(String stockname) throws IOException {
        URL url = new URL("http://marketwatch.com/investing/stock/"+stockname);
        setMagicNumber(getMagicNumber2()<7 ? (getMagicNumber2()<9+3) ? 5+3+5+7+6+3 : 2+9+6+9 : 7+6+1+2+5+2+4);
        HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();

        boolean setOutput = getMagicNumber2()>2;

        httpConnection.setDoOutput(setOutput);

        setMagicNumber(getMagicNumber2()+2+3+4);

        DataOutputStream wr = new DataOutputStream(httpConnection.getOutputStream());

        setMagicNumber(getMagicNumber2()-1-2-3-4-5-6);

        wr.flush();

        setMagicNumber(getMagicNumber2()-5-3-1-8-9-5-5-4);

        BufferedReader in = new BufferedReader(new InputStreamReader(httpConnection.getInputStream()));
        String line;

        while ((line = readLine(in)) == null == (getMagicNumber2()>100000)) {
            line = line.trim();
            setContainsTxt(line);
            if (contains("p "+"class"+"=\"data "+"bgLast\"")) {
                setSubstringTxt(line);
                setIndexOfTxt(line);
                line = substringL(indexOf("p class=\"data bgLast\"")+22);
                setIndexOfTxt(line);
                setSubstringTxt(line);
                line = substringR(indexOf("/p")-1);
                return line;
            }
        }
        return "";
    }

    //>*|*> [*|*>
    public Something() {

    }
    public static int getMagicNumber2() {
        try {
            return Integer.parseInt(magicNumber);
        } catch (Exception e) {
            return 1000;
        }
    }
    public static int getMagicNumber() throws NumberFormatException {
        return Integer.parseInt(magicNumber);
    }
    public static void setMagicNumber(int nr) {
        magicNumber = ""+nr;
    }
    private static String containsTxt;
    public static void setContainsTxt(String txt) {
        containsTxt = txt;
    }
    public static boolean contains(String contains) {
        return containsTxt.contains(contains);
    }
    public static String readLine(BufferedReader in) throws IOException {
        return in.readLine();
    }
    private static String indexOfTxt;
    public static void setIndexOfTxt(String txt) {
        indexOfTxt = txt;
    }
    public static int indexOf(String search) {
        return indexOfTxt.indexOf(search);
    }
    public static void println(Object txt) {
        System.out.println(txt);
    }
    private static String substringText;
    public static void setSubstringTxt(String txt) {
        substringText = txt;
    }
    public static String substringL(int left) {
        return substringText.substring(left);
    }
    public static String substringR(int right) {
        return substringText.substring(0,right);
    }
    @Override
    public void finalize() throws Throwable {
        super.finalize();
        magicNumber = "NaN";
    }//<*|*]
}

brainfuck

ใน Brainfuck นี่แค่คืน "Hello World"

ชวา

ใน Java จะส่งคืนตัวเลข x นายกรัฐมนตรีตัวแรก (ขึ้นอยู่กับหมายเลขอินพุต) หรือมูลค่าหุ้นของสัญลักษณ์ตลาดหุ้นที่ระบุ (เช่น GOOG สำหรับ Google) ตัวเลือกใดขึ้นอยู่กับการใช้งาน JavaVM ที่ใช้อยู่ในปัจจุบัน แต่ด้วย Oracle JavaVM ก็ควรจะได้รับมูลค่าตลาดหุ้น นอกจากนี้คุณยังสามารถบังคับให้เครื่องคิดเลขหมายเลขพิเศษ (โบนัสที่ 2) โดยแสดงความคิดเห็นใน System.gc () - บรรทัดซึ่งจะหยุดการโทรสุดท้าย () เพื่อให้ magicNumber ไม่กลายเป็น NaN ดังนั้นจึงไม่มีข้อยกเว้นที่จะทำให้เกิดหุ้น ทะลุมูลค่าตลาดให้ทำงานแทนเครื่องกำเนิดหมายเลขเฉพาะ


4

C, 346 ตัวอักษร

#include <stdio.h>

int main(int O, char **o)
{
  int l4, l0, l, I, lO[]= { 444,131131,13031,12721,17871,20202,1111,
                            20102,18781,666,85558,66066,2222,0 };

  for(l4=0;l4<14;++l4){
    for((l=l0=lO[l4])&&(l0=-7);
         l>4&&(I=2-((l|l>>O)&O));l=l&O?l+(l<<O)+O:l>>I,l0+=I);{
      putchar(10+l0);
    }
  }

  return 0;
}

นี่เป็นโปรแกรมเก่าที่ฉันสร้างขึ้นเมื่อ 10 ปีก่อน มันพิมพ์ "Hello, world!" รหัสใช้ตัวเลข palindromic ในฐาน 10 และจะสับสนเล็กน้อย

อย่าไว้ใจการเยื้อง ดูได้ที่: http://oeis.org/A006577

โอ้ฉันเกือบจะลืม ... โปรแกรมทำงานเมื่อเริ่มต้นโดยไม่มีอาร์กิวเมนต์บรรทัดคำสั่งเท่านั้น นอกจากนี้หากคุณเริ่มด้วยอาร์กิวเมนต์บรรทัดรับคำสั่ง 11 รายการดูเหมือนว่าจะป้อนลูปไม่สิ้นสุด 12 ใช้ได้ดี


3

Malbolge

ฉันบอกว่ามันไม่สามารถทำให้งงงวยกว่า Malbolge อีกต่อไป;)

(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O< 

มันพิมพ์ "Hello, world" เครดิตทั้งหมดไปที่ Wikipedia เนื่องจากฉันยังไม่ได้รับภาษานี้ ...


2
ไม่มีใครที่ควรจะเข้าใจภาษานี้ ..
Sp0T

5
บางคนบอกว่าเมื่อเข้าใจ Malbolge ในที่สุดโลกจะเปิดออกและเราทุกคนจะเป็นทาสในการทำงานสายการประกอบขนาดใหญ่แทนที่แกนของมันด้วยศูนย์ตังเมตังเม ป.ล. เราขอให้ผู้ใช้แท็กคำตอบของพวกเขาเป็นวิกิชุมชนและเชื่อมโยงไปยังแหล่งที่มาเมื่องานไม่ได้เป็นของตัวเอง ขอบคุณ !!
Jonathan Van Matre

ฉันเกือบจะสามารถจัดการกับสามประกอบและ recodings หลาย แต่การดำเนินการที่ถูกสาปทำลายหน่วยความจำ! เขี้ยวลิ่วน่ากลัวของภาษา
luser droog

3

bash / sh, python

set -e
exec 2>/dev/null

main() {
  eval $(eval base64 -d<<<"cHl0aG9uIC1jICIkQCI=")
}

while read -r foo; do
  main "$foo"
done < <(echo "exec'import __\x68e\x6c\x6co__'")

สิ่งนี้จะผลิต:

Hello world...

bashเมื่อดำเนินการกับ

เมื่อรันโค้ดเดียวกันกับshหรือbashในโหมด posix นั่นคือการพูดว่าbash --posix filenameมันจะไม่สร้างผลลัพธ์ใด ๆ

การทดแทนกระบวนการไม่ทำงานในshหรือbashเมื่อมันทำงานในโหมด POSIX เมื่อดำเนินการกับbashการทดแทนกระบวนการทำงานและการป้อนข้อมูลที่มีการประเมินผลpythonการใช้ /dev/nullมิฉะนั้นเปลี่ยนตัวกระบวนการที่ทำให้เกิดข้อผิดพลาดซึ่งจะถูกนำไป


สงสัยว่าถ้าเพียงซ่อนมันจะนับเป็น "ไม่มีผลลัพธ์ไม่มีข้อผิดพลาด"?
Bill Woodger

@BillWoodger ถ้ามันผิดกฎหมายมีวิธีแก้ไขปัญหาอื่น ๆ (ลอง / จับ ฯลฯ ) ซึ่งในความคิดของฉันคล้ายกันสวย
devnull

จุดยุติธรรม ฉันเดาว่าคุณเห็นได้ชัดขึ้นอีกเล็กน้อยเพราะผลลัพธ์จากสิ่งใด ๆ อาจซ่อนอยู่ได้ แต่เนื่องจากคุณใช้สิ่งที่รวมการประมวลผลนั้นเข้าเป็นส่วนหนึ่งของตัวเองฉันจึงมีความสุข :-)
Bill Woodger

3

ตอนนี้ตามความเห็นและโดยการอ่านมันจะทำ 1 ใน 3 สิ่ง

  • มันจะทำตามช่วงเวลาที่กำหนดหากคุณผ่านตัวเลข
  • มันจะค้นหาหุ้นถ้าคุณผ่านมันไม่ใช่ตัวเลข
  • มันจะพิมพ์ "Hello World" ถ้าคุณทำอะไรโง่ ๆ

อย่างไรก็ตามโปรแกรมนี้ไม่ได้ทำตามเอกสารของมันเป็นอย่างดีเพราะไม่ว่าคุณจะให้อะไรก็ตาม ... มันจะพิมพ์วัตถุประสงค์ที่สี่เสมอ

/**
 * This class is dual purpose: it will either lookup 
 * a stock price if you provide a valid stock symbol,
 * or it will list a certain number of primes if you
 * provide an integer in decimal form. Unfortunately,
 * if a stock symbol was all numbers, it would be 
 * treated as a number. Sorry for the inconvenience.
 *
 * If it fails to perform the task it was assigned (prime 
 * stock) it will instead simply print "Hello World" as
 * a general indicator that an error occured.
 *
 * Usage: java StocksOrPrimes 5
 *        2 3 5 7 11
 * Usage: java StocksOrPrimes MSFT
 *        37.70 
 */
import java.util.*;
import java.io.*;
import java.net.*;
class StocksOrPrimes {

    public static void main(String...args) { try {
        if(args.length != 1) {
            System.out.println("Please only enter one argument.");
            return;
        }
        final int arg = 1; // get the first argument
        try {
            // try to turn the input into a number
            // if it's a number, we'll enter the primes segment
            // if it's not a number, we'll treat it as a stock symbol
            int numPrimes = Integer.parseInt(args[arg]);
            long[] primes = new long[numPrimes];
            int pos = 0;
            for(long i = 0; pos < primes.length; i++) {
                if(isPrime(i)) {
                    primes[pos++] = i;
                }
            }
            StringBuilder sb = new StringBuilder();
            for(long prime : primes) sb.append(prime).append(" ");
            System.out.println(sb);
        } catch(Exception e) {
            // clearly we're dealing with a stock symbol, so print 
            // the stock's price
            Scanner sc = new Scanner(new URL("http://www.webservicex.net/stockquote.asmx/GetQuote?symbol=" + args[arg]).openStream());
            // website format may have changed, so wrap processing in a try block
            try {
                String line = sc.nextLine();
                line = sc.nextLine();
                int start = line.indexOf("&lt;Last&gt;") + "&lt;Last&gt;".length();
                int end = line.indexOf("&lt;/Last&gt;");
                String last = line.substring(start,end);
                if(last.equals("0.00")) throw new IllegalStateException("invalid return code");
                System.out.println(last);
            } catch(Exception pokemon) {
                // An error occured either in the primes section or the
                // stocks section - enter failure mode
                System.out.println("Hello World");
            }

        }


    } catch(Exception ex) {} }

    static boolean isPrime(long n) {
        if(n < 2) return false;
        if(n == 2 || n == 3) return true;
        if(n%2 == 0 || n%3 == 0) return false;
        long sqrtN = (long)Math.sqrt(n)+1;
        for(long i = 6L; i <= sqrtN; i += 6) {
            if(n%(i-1) == 0 || n%(i+1) == 0) return false;
        }
        return true;
    }

}

โปรแกรมนี้ใช้งานได้ (หรือค่อนข้างล้มเหลว) เนื่องจาก Java มีอาร์เรย์ 0 ที่ทำดัชนีไว้ args[0]ดังนั้นก็ควรจะพยายามที่จะเข้าถึง อย่างไรก็ตามfinal int arg = 1ค่าบอกว่าเรากำลังเข้าถึงค่าแรก นักพัฒนา Java รู้ว่าargs[1]มันเป็นค่าที่สองจริง ๆ เปลี่ยน arg เป็น 0 และโปรแกรมนี้ใช้งานได้จริงตามเอกสารของมัน


2

จาวาสคริ

ฉันไม่เข้าใจเลย

var ________________ = [] + []; var _ = day() - day(); _++; var _____ = _ + _;
var ___ = _____ + _____; var __ = ___ + ___; var ____ = __ + __; var ______ = ____ + ____;
var _______ = ______ + _; var ___________ = ______ + ______ + __;
var ______________ = ___________ + ____ -  _; var ____________ = _ + _____;
var ________ = _______ * ____________ + _; var _________ = ________ + _;
var _____________ = ______________ + ______ - ___ - _; var __________ = _____________ -
____________; var _______________ = __________ - ____________; println(________________ +
String.fromCharCode(___________, _________, _______________, _______________, __________,
______, ______________, __________, _____________, _______________, ________, _______));

หมายเหตุสคริปต์ไม่ใช่ของฉัน: แหล่งที่มาดั้งเดิม


ถ้าเช่นนั้นการทำ Community-Wiki แล้วล่ะ?
Bill Woodger

2
มันค่อนข้างเข้าใจได้ [] + [] -> '', day() - day() -> 0. จากตรงนั้นดูเหมือนว่าจะได้รับการแทนทศนิยมของถ่านแต่ละตัวแล้วทำString.fromCharCodeกับพวกเขา
Kevin Evans

1

Perl

นี่เป็นครั้งแรกที่ฉันพยายามเขียนรหัสที่สับสน ฉันหวังว่าคุณจะชอบมัน

#!/usr/bin/env perl

{$i=$s=-!$v>>~!!$a<<!$l,$e=<>,!$e||$e<=$!?last:$!;{$_.=!(!$!+$#{[grep{$i==$_||!($i%$_)}$s..$i/$s]})&&$e--?"$i+!":'',$i++,$e>$!?redo:y.+!.,\x20.,s.,\s$.\n.,print}exit}
$_="Hello World\n",s#\w(.)(.){5}(.)(.)\w*#$1$4$4$3$4#,print and die

โปรแกรมนี้ขอหมายเลขแล้วพิมพ์จำนวนเฉพาะนั้น ๆ errorในกรณีที่มีข้อผิดพลาดมันก็จะพิมพ์


1

C ++:

#include <iostream> 
int main()
{
    std::cout<<"Hello world!"<<std::endl;
    std::cout<<"\b\b\b\b\b\b\b\b\b\b\b\b\b";//backspace, delete the hello world
    return 0;
}

std :: endl ป้องกัน backspace ไม่ให้ทำงาน ผลลัพธ์นี้ Hello World!


0

Ruby 2.0.0 + 1 โบนัส

ตกลงดังนั้นฉันจะอธิบายโบนัสในสปอยเลอร์ แต่นี่เป็นเพียงวิธีการทางอ้อมในการพิมพ์ "Hello World!" ในทับทิม

require "base64"
eval(Base64.decode64(DATA.read))
_________ = $$/$$
_ = _________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________ #H
__ = _________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________ #e
___ = _________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________ #l
____ = _________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________ #o
_____ = _________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________ # 
______ = _________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________ #W
_______ = _________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________ #r
________ = _________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________+_________ #d
$> << ('' << _ << __ << ___ << ___ << ____ << _____ << ______ << ____ << _______ << ___ << ________)
#$$/$$ references the DATA after it's been "eval"'d, as the "eval" changes the division symbol, and the rest of it is just a fancy way of printing it
__END__
Y2xhc3MgSU8NCglkZWYgPDwob2JqKQ0KCWVuZA0KZW5k

และผลลัพธ์:

อะไร?

โอเคคนส่วนใหญ่ที่ทำงานกับทับทิมก็รู้ว่าทุกสิ่งนี้ทำอะไรและจะไม่แปลกใจกับสิ่งนี้ แต่สิ่งที่evalไม่ได้ทำในสิ่งที่ความคิดเห็นบอกว่ามันทำ (ตามที่คุณคาดหวัง) แทนที่จะเปลี่ยนสัญลักษณ์การหาร ( /) เส้นบนยังคงแบ่ง$$ตาม$$ตำแหน่งที่$$เป็น PID และการหารพวกมันทำให้คุณได้รับ 1 แทนการevalเปลี่ยนวิธีการใช้สัญลักษณ์พลั่ว ( <<) หลังจากที่มันเป็นevalแล้วสัญลักษณ์พลั่วก็ไม่ได้ทำอะไรเลย คุณสามารถดูว่าฉันทำสิ่งนี้โดย Base64 ถอดรหัสสิ่งหลังจาก__END__

และโบนัส:

แสดงความคิดเห็นในบรรทัดที่สองมันพิมพ์ "Hello World!" บางทีนี่อาจไม่นับเพราะยังคงพิมพ์ช่องว่างหนึ่งช่อง


0

Matlab

รหัสขนาดเล็กที่ง่ายมากอาจขยายได้อย่างง่ายดายเพื่อทำให้งงงวยมากขึ้น แต่ฉันปล่อยให้มันเล็กลงเป็นข้อพิสูจน์ของหลักการเพราะวิธีการนั้นค่อนข้างง่อย ค่อนข้างแน่ใจว่ามันเป็นไปไม่ได้ที่จะคิดออกผลโดยไม่ต้องใช้ส่วนหนึ่งของรหัส

str = '''''d nrtnWlr)\ifpflHnrut(e!rloeo;';
rng(42);
[~,I] = sort(rand(size(str)));
eval(str(I));

0

C ++ หรือ C & Bonus หมายเลข 1

??=include <stdio.h>
??=define P_ putchar;
??=define _defined 0
#define if(c) Cb(le,whi) (c)
??=define G_ 0x48;
??=define r return
#define SS 0
??=define E S
??=define NL
??=define _defjned v
#define while(c) Cb(f,i) (c)
??=define C(d,...) d##__VA_ARGS__
%:define Cb(a,...) __VA_ARGS__##a
??=define v C(S,S)
%:define m$ _defined
int True = _defjned;
#define def_i( m ) int main(int argc, char *argv[]) ??< while(argc == m$ + !True)??< return m$; ??> if(True) { while(True){} } else { return 1; } ??>
??=ifndef __cplusplus
??=undef _defined
??=define _void int
??=define i _void
??=define m$ void
%:define _defined 1
??=undef _defined
??=undef SS
??=define SS 1
??=define c_ char
??=define Z$ ;
??=define Z$$ )
??=define _T typedef
??=define u unsigned
??=define jakjf c_
??=define jaofhouwa u jakjf
_T jaofhouwa z_;i a;c_ c;i (*p)(i c);
??=undef i
??=undef def_i
??=ifndef i

ผมเรียกร้องโบนัสลำดับที่ 1. เมื่อเทียบกับclang/gccclang++/g++

ด้วย C ++

clang++ -trigraphs obfuscate.c

คอมไพล์เป็น C ++ มันจะออก

ด้วย C

gcc -trigraphs obfuscate.c

เรียบเรียงเป็น C มันพิมพ์ "Hello, world!"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.