“ สวัสดีชาวโลก!”, ทำซ้ำอักขระแต่ละตัว n ครั้ง [ปิด]


15

Hello world!ในภาษาของคุณเลือกเขียนโปรแกรมที่เอาท์พุทตรง อักขระแต่ละตัวในโปรแกรมของคุณจะต้องซ้ำกันnครั้ง - คุณเลือกn n

ตัวอย่างเช่นคุณอาจเลือกที่ 2 สำหรับn ซึ่งหมายความว่าตัวละครทุกตัวที่ใช้ในซอร์สโค้ดของคุณจะต้องซ้ำหลายครั้งหรือ 0

ถ้าฉันจะเลือก 3 สำหรับnโปรแกรมนี้จะใช้ได้:

ab(b(b(aa)));;;

กฎ:

  • คุณไม่สามารถใช้ทรัพยากรภายนอก
  • ไม่สามารถป้อนข้อมูลผู้ใช้
  • คุณต้องส่งออกอย่างแน่นอน Hello world!ไม่มากไม่น้อย ขึ้นบรรทัดใหม่เป็นข้อยกเว้นซึ่งเป็นทางเลือก
  • nต้องเป็น> = 2 เพื่อให้สิ่งต่าง ๆ น่าสนใจ
  • เราไม่แนะนำให้คุณใช้ความคิดเห็นเพื่อให้บรรลุเป้าหมายของคุณ

การประกวดความนิยมสิ้นสุดใน 14 วัน คำตอบคะแนนสูงสุดในตอนท้ายชนะ!


ลองขโมยทุกคำตอบจากหัวข้อนี้: codegolf.stackexchange.com/questions/18925/…ด้วย n = 1
Fabinout

โอ๊ะสมมุติว่าn>=2@Fabinout
เลิกทำ

1
นี่คือ JSFiddleฉันโยนเข้าด้วยกันเพื่อทดสอบว่าใครต้องการมัน
Doorknob

2
ฉันชอบที่จะเห็นทางออกของ HQ9 + สำหรับสิ่งนี้
Nzall

1
@Nate HQ9 + ส่งออกเครื่องหมายจุลภาค (ดังที่ระบุไว้ในคำตอบที่ถูกลบ) ;-)
Doorknob

คำตอบ:


25

brainfuck

n = 57 ลบบรรทัดใหม่ 45 บรรทัดเนื่องจากวงล้อประหลาด

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

รุ่นที่อ่านได้มากขึ้น:

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

บรรทัดสุดท้าย (ในเวอร์ชันที่อ่านได้) ใช้สำหรับการนับจำนวนอักขระ พวกเขาไม่ได้แสดงความคิดเห็น []มีwhile(0)s และ><s อยู่ในสาระสำคัญไม่มี Ops


คุณไม่สามารถใส่.ข้างในหนึ่งใน[]และไม่ออกบรรทัดใหม่
วงล้อประหลาด

@ วงล้อประหลาดจุดดี ขอบคุณ
user12205

ฉันคิดว่าวงล้อกำลังแนะนำให้ย้ายสิ่ง[แรก[]ไปก่อนจุดเพื่อที่จะไม่ส่งออกแม้กระทั่ง NULL
Ilmari Karonen

@Ilmari Karonen โอใช่ฉันเข้าใจแล้ว ขอบคุณ
user12205


12

Python 3, n = 3, ไม่มีความคิดเห็น

dwwppHottedHen =print((("H[e]l1l1o\\ !w!orrilidn!\""[::2][:12])))== 2

ไม่ยากนักที่จะเข้าใจ Pythonist ;) (คำแนะนำ: ลอง"abcdefghijk"[::2]และดูผลลัพธ์ที่ได้)

โดยวิธีการที่HottedHenเป็นไก่อุ่นถ้าคุณสงสัย ( dwwppก่อนหน้านี้หมายถึงdrinking water with purple pancakesเพราะนั่นคือสิ่งที่ไก่กำลังทำเมื่อฉันเขียนมันทุกคนรู้ว่าแพนเค้กสีม่วงไปได้ดีกับน้ำเห็นได้ชัด)


11

C, 54

main(Hadmeinwurst015p){{!puts("Hello\40wor\154d!");;}}

1
คุณมี av ที่ไม่ตรงกัน
Eduard Florinescu

@ Eduard hm คุณพูดถูกต้องมันต้องเล็ดรอดไปที่นั่นโดยไม่ได้ตั้งใจเพราะมันดูเหมือนจะไม่รวมอยู่ในการนับตัวละคร ... ได้รับการแก้ไข
FireFly

5

Golfscript - 32

เวอร์ชั่นใหม่พร้อมอักขระที่ใช้งาน 2 ตัว - 32 - ทดสอบออนไลน์

;"Hello wor\x6cd!" '\Hewrx6cd!';

รุ่นเก่า - 39 - ทดสอบออนไลน์

;;'Hello world!'  "'HHeewworrdd!!\\\"";

แก้ไข: อัปเดตเนื่องจากกฎได้รับการอัปเดตโดยบอกว่ามันหมดกำลังใจกับการใช้ความคิดเห็น


ดีขึ้นมากโดยไม่แสดงความคิดเห็น!
เลิกทำ

4

Java - 1221 ตัวอักษร

ตัวละครแต่ละตัวซ้ำ(int)'!'จำนวนครั้ง

public class ncharacterHelloworld {
    public static void main(String[] args){
        {;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;{;{;{;{;{;{;{;{;{;{;{
String pppppppppppppppuuuuuuuuuuuuuubbbbbbbbbbbbbbbllllllllllliiiiiiiiiiicccccccccccccaaaaaaaaaaaassssssssssssssnnnnnnnnnnnnnhhhhhhhhhhhhhhhhrrrrrrrrrrrrttttttttttteeeeeeeeeeeeeeHHHHHHHHHHHHHHHooooooooooooowwwwwwwwwwwwwwwdddddddddddddddvvvvvvvvvvvvvvvvmmmmmmmmmmmmmmmSSSSSSSSSSSSSSSgggggggggggggggyyyyyyyyyyyyyyyy="Hello world!",
a=pppppppppppppppuuuuuuuuuuuuuubbbbbbbbbbbbbbbllllllllllliiiiiiiiiiicccccccccccccaaaaaaaaaaaassssssssssssssnnnnnnnnnnnnnhhhhhhhhhhhhhhhhrrrrrrrrrrrrttttttttttteeeeeeeeeeeeeeHHHHHHHHHHHHHHHooooooooooooowwwwwwwwwwwwwwwdddddddddddddddvvvvvvvvvvvvvvvvmmmmmmmmmmmmmmmSSSSSSSSSSSSSSSgggggggggggggggyyyyyyyyyyyyyyyy,
u="\"=============================,,,,,,,,,,,,,,,,,,,,,,...............................",b="\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\\\\\\a",i,l,c,t,H,o,w,m;int[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]ffffffffffffffffffffffffffffffff;
        if(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!!true)))))))))))))))))))))))))))))))
System.out.println(a);
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
    }




}

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



3

Windows Command Line - 42 ไบต์

n = 3

ecHo.Hello world! 2>^>2cceHwwrrdd!.. 2>^^!

รุ่นที่ - 45 ไบต์

@ecHo.Hello world! 2>^>2cceHwwrrdd@@..! 2>^^!


2>การเปลี่ยนเส้นทาง stderr ไปยังไฟล์ที่เรียกว่า>22cceHwwrrdd- >เป็นตัวละครที่ไม่ถูกต้องสำหรับชื่อไฟล์ - ^!เปลี่ยนเส้นทางการส่งออกของข้อผิดพลาดที่ไปยังแฟ้มที่เรียกว่า

ตระหนักว่าฉันไม่สนใจและ! >แดง


ฉันสอดแนมช่องว่าง 4 อัน :(
2557

3

Ruby - 40 Chars (n = 2)

print "Hel\x6co World!"||'pintHe\x6cWd!'

คุณมีช่องว่างกี่ช่อง ถูกต้องหรือไม่ที่จะบอกว่าสองรอบแรกpเป็นแท็บ (หรือคล้ายกัน)?
Justin

@Quincunx ช่องว่างแรกเป็นตัวพิมพ์แก้ไขตอนนี้
ศิวะ

3

PHP - 30 ไบต์, n = 2

Hell<?='=s?<;^2s'^RSHSI2VReIV;

ทางออกที่สั้นที่สุด ฉันอาจลดขนาดนี้ได้อีก2-4ไบต์


2

PHP

<?print"H\145llo wor\154d!"; $Hwpintd<>!'$';?>

รุ่นที่สั้นกว่า (42 อักขระ):

<?print"H\145llo wor\154d!"; 'Hwd<pint?!';

หน้าออนไลน์ที่มีแหล่งนั้น


ฉันคิดว่าคุณสามารถ: - ไม่จบด้วย?> (ซึ่งจะกำจัดการใช้>) - รักษา Hepwintd <! เป็นสตริง - 'Hepwintd<!'ซึ่งจะดูแล $
eithed

2

เยลลี่ , 16 ไบต์ (ไม่แข่งขัน)

“⁸ƒẹI4»
“⁸ƒẹI4»

(+ ขึ้นบรรทัดใหม่)

ลองออนไลน์! (n = 2)

ไม่มีความคิดเห็นเลย ฉันรับรองคุณ เพียงเชื่อมโยง 1 และลิงก์หลัก


และใช่ฉันรู้ว่านี้ไม่ได้เป็นรหัสกอล์ฟ
Erik the Outgolfer

อืม ... คำตอบนี้ปูถนนเพื่อปิดการท้าทายนี้ ดี
Erik the Outgolfer


1

Perl (51 ไบต์)

print'Hello world!'; ppriinnttHHeeowwdd; "'\"\\!!";

โพสต์เก่าและอาจไม่สำคัญมากนัก แต่คุณสามารถบันทึกไม่กี่ไบต์โดยใช้$'หรือ$"ภายในq!!บล็อกแทนที่จะเป็น `` `s
Dom Hastings

1

C, 75 56 54

2 ของทุกอย่าง

main(HWacdeimnprstux6) {{!puts("Hel\x6co\ World!");;}}

main( ){puts("Hello Wor\x6cd!\0!;HWacdeimnprstux06{}");}

3 ของทุกอย่าง

main(){puts("Hello World!\000!!;;HHWWaaddeeiimmnnpprrssttuu{}{}\"\()o");}

Putsหยุดอ่านหลังจากไบต์แรกสุด ( \000) และส่งออกเฉพาะทุกอย่างที่อยู่ก่อนหน้า


ในตอนแรกiเป็นคนที่เหงา! :)
Eduard Florinescu

สองคนแรกของคุณมีเพียงคนเดียวi(แก้ไขได้ง่าย: เปลี่ยนmainชื่ออาร์กิวเมนต์) สุดท้ายของคุณมีที่เดียวเท่านั้น
Doorknob

1
@EduardFlorinescu ฮ่า ๆ ผมโพสต์ที่ว่าในเวลาเดียวกับที่คุณ: P
Doorknob

อ๊ะคนแรกหายไป อย่างที่สองก็มีมันออกจากสถานที่
Kevin


1

JavaScript 40 (n = 2)

ฉันใช้วิธีที่แตกต่างกันเล็กน้อยในการ @eithedog โดยใช้ตัวอักษรที่เหลือเพื่อทำหน้าที่เป็นทริกเกอร์แบบตรรกะเพื่อให้มีความจำเป็นอย่างยิ่งที่จะต้องใช้มันเพื่อเปิดใช้งานalertฟังก์ชั่น

('Hawtd !')&&alert("He\x6c\x6co world!")



1

Javascript, 40

alert("Hel\x6Co wor\x6Cd!", !('adtHw,'))

หากฉันไม่เข้าใจผิดว่าตัวละครทุกตัวปรากฏขึ้นสองครั้ง (แม้ว่าฉันจะเริ่มเห็นเป็นสองเท่าฉันก็ไม่แน่ใจ)

แก้ไข: และหากละเมิดกฎ - 36 :

alert("Hel\x6Co wor\x6Cd!")( !wdatH)

(abuse = ในขณะที่เอาต์พุตถูกกำหนดเป็นพรอมต์คอนโซลจะแสดงข้อผิดพลาด - ไม่รู้วิธีจัดการกับสิ่งนี้)


2
rปรากฏขึ้น 3 ครั้งในขณะที่wปรากฏเพียงครั้งเดียวเท่านั้น (ในทั้งสองเวอร์ชัน) เพียงแทนที่สุดท้ายrด้วยwเพื่อแก้ไข
Doorknob

โอ้ dyslexia เจ้าหญิงผู้โหดร้าย ... ขอบคุณ!
eithed

1

Bash, 39

echo -e "H\r--w\"!wccdd!\rHello world!"

สิ่งนี้แสดงให้เห็นว่าสวัสดีชาวโลก! และเป็น 39 ตัวอักษรหากคุณไม่ขึ้นบรรทัดใหม่

หากคุณต้องการรุ่นที่เป็นกรณี ๆ ไปมันจะกลายเป็น 42 ตัวอักษร:

echo -e "HhhH\r--w\"!wccdd!\rHello world!"

1

JavaScript (52 ตัวอักษร)

alert(['He\x6C\x6Co world!'][(!1,0)-0], +-1+"Hadtw")

ตัวละครแต่ละตัวจะใช้ 2 ครั้งและมันก็ไม่ได้ใช้ความคิดเห็นใด ๆ !

หมายเหตุ: ฉันโพสต์คำตอบนี้ที่นี่ก่อน


1

Golfscript x4 - ไม่มีสัญลักษณ์พิเศษ - ใช้คำสั่งที่เป็นไปได้ทั้งหมด

'HHHeeelWWWrrrd'!!! do do 'Hello world!'

ฉันพยายามทำสิ่งที่ไม่มีสัญลักษณ์พิเศษเกินกว่าที่จำเป็นจริงๆ (แม้ว่าฉันจะได้เลือก"แทน'หรือ")

ในฐานะเป้าหมายรองฉันยังต้องการใส่อักขระให้น้อยที่สุดเท่าที่จะเป็นไปได้ในสตริงดังนั้นฉันจึงใช้!โอเปอเรเตอร์ดังกล่าวและฉันก็บีบให้doผู้ประกอบการ


1

R, 346 ตัวอักษร, n = 12

cat((((((((((intToUtf8(c(40,69,76,76,79,0,55,79,82,76,68,1)+31+1+0+0+0+0+0+0+0+0++0*11111111[1]*22222222222[1]*33333333333[1]*44444444444[1]*5555555555[1]*6666666[1]*7777777[1]*888888888[1]*999999*9[1]*9[1]*9[1])))))))))),"\"\"\"\"\"\"\"\"\"\"\\aaaaaaaaaaaccccccccccfffffffffffiiiiiiiiiiinnnnnnnnnnnoooooooooootttttttttTTTTTTTTTTTUUUUUUUUUUU"[0])

ตัวละครที่ใช้ในรหัสนี้:

,"()[]*\+0123456789acfinotTU

1

Classic ASP (VBScript; 62 ตัวอักษร)

Hel<%REspOnsE.wRite Chr((0<0>-.6&"!")+&H6C+h-dinptO)%>o world!

ใช้ตัวละครแต่ละตัว 2 ครั้ง!


แก้ไข:รหัสนี้สั้นกว่าเล็กน้อย:

Hel<%= Chr((0<0>we=6&"!")+&H6C+hd)%>o world!

และนี่คือ:

Hel<%= CHr((0<1>wedC=8&"!&")++108)%>o world!

1

Befunge 98 - 26 ไบต์

เนื่องจากฉันต้องทำซ้ำrฉันคิดว่าฉันอาจทำให้ข้อความต้นฉบับอ่านจากซ้ายไปขวาแทนที่จะเป็นgnirtsสไตล์ Befunge ทั่วไป ไม่มีอะไรโดดเด่นเป็นพิเศษเกี่ยวกับเรื่องนี้ ฉันไม่แน่ใจว่าการมีรหัสที่ไม่ได้ถูกเรียกใช้นั้นนับเป็นความคิดเห็นหรือไม่ แต่อักขระทั้งหกHel w!นั้นจะถูกละเว้น

rHel w!@,dk"Hello, world!"

0

Turtlèd, n = 3, (ไม่ใช่การลบล้าง)

N = 3 เนื่องจาก "Hello world!" มีสามlวิ

'!' ' HHeeowwrrdd"Hello world!""!

ลองออนไลน์

คำอธิบาย:

'!                                write exclamation mark
  ' '                             write space twice on the same cell as exclamation mark
      HHeeowwrrdd                 balances chars in Hello world!, moves the pointer
                 "Hello world!"   Write Hello world! to grid
                               "! Write the exclamation mark again, on top of the last one
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.