Golfscript - 13 ไบต์, เอาต์พุต 1315
991,{`.$2>>},
ด้านบนเลือกตัวเลขเหล่านั้นจาก0-990ซึ่งตัวเลขแรกเป็นตัวเลขที่ใหญ่ที่สุดของตัวเลขนั่นคือตัวเลขสุดท้ายของการแทนค่าสตริงที่เรียงลำดับนั้นมีค่าน้อยกว่าสตริง ตรรกะดังต่อไปนี้:
สำหรับตัวเลข 3 ตัวabcหากaไม่ใช่ตัวเลขที่ใหญ่ที่สุดของตัวเลขหมายเลขที่ฉันถูกข้ามไปจะถูกครอบคลุมโดยหนึ่งในสองกรณีต่อไปนี้:
b <c (เช่น 123 )
เนื่องจาก cเป็นตัวเลขที่ใหญ่ที่สุดแค็บตัวเลขจะไม่ถูกข้าม ในตัวอย่างนี้ 312จะไม่ถูกข้ามไปหรือค่าต่อไปจะ 313ซึ่งเมื่อตัดแบ่ง ( 312 313 ) มี123
b ≥ c (เช่น 132 )
เนื่องจาก bเป็นตัวเลขที่ใหญ่ที่สุดตัวเลข bcaจะไม่ถูกข้าม ในตัวอย่างนี้ 321จะไม่ถูกข้ามไปหรือค่าต่อไปจะ 322ซึ่งเมื่อตัดแบ่ง ( 321 322 ) มี132 หาก b = c (เช่น 122 ) กรณีนี้จะใช้เช่นกัน ค่า bcaจะไม่ถูกข้ามเหมือนก่อนหน้านี้และเนื่องจาก aจำเป็นต้องน้อยกว่า b , bc <a + 1>จะไม่ถูกข้ามเช่นกัน ในตัวอย่างนี้ 221 222มี122
เนื่องจากรหัสด้านบนทดสอบตัวเลขที่สามแทนที่จะเป็นค่าสุดท้ายอย่างเคร่งครัดค่าทั้งหมดจาก0-99จึงรวมอยู่ในผลลัพธ์ ค่าจาก1-99อาจถูกข้ามไปได้เพราะถ้าหากทุกลำดับ 3 หลักปรากฏขึ้นจะต้องมีลำดับ 1 หลักและ 2 หลักทุกตัว
ค่าจาก991-999อาจถูกข้ามไปเนื่องจากสร้างโดย ( 909 910 , 919 920 , ... 989 990 )
ที่เอาต์พุต 1,315 ไบต์นี่คือความสะดวกสบายภายใต้ข้อกำหนดของปัญหาที่น้อยกว่า 1500
เอาท์พุท:
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101110111200201202210211212220221222300301302303310311312313320321322323330331332333400401402403404410411412413414420421422423424430431432433434440441442443444500501502503504505510511512513514515520521522523524525530531532533534535540541542543544545550551552553554555600601602603604605606610611612613614615616620621622623624625626630631632633634635636640641642643644645646650651652653654655656660661662663664665666700701702703704705706707710711712713714715716717720721722723724725726727730731732733734735736737740741742743744745746747750751752753754755756757760761762763764765766767770771772773774775776777800801802803804805806807808810811812813814815816817818820821822823824825826827828830831832833834835836837838840841842843844845846847848850851852853854855856857858860861862863864865866867868870871872873874875876877878880881882883884885886887888900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990
รูปแบบ # 1
14 ไบต์, เอาต์พุต 1233
991,{`.$-1>>},
โดยการเลือกตัวเลขสุดท้ายสำหรับการเปรียบเทียบอย่างชัดเจนแทนที่จะเป็นสามค่าที่ไม่จำเป็นจำนวนน้อยกว่า100จะถูกตัดออกทำให้สตริงที่เกิดขึ้นสั้นลง
101120212230313233404142434450515253545560616263646566707172737475767780818283848586878890919293949596979899100101110111200201202210211212220221222300301302303310311312313320321322323330331332333400401402403404410411412413414420421422423424430431432433434440441442443444500501502503504505510511512513514515520521522523524525530531532533534535540541542543544545550551552553554555600601602603604605606610611612613614615616620621622623624625626630631632633634635636640641642643644645646650651652653654655656660661662663664665666700701702703704705706707710711712713714715716717720721722723724725726727730731732733734735736737740741742743744745746747750751752753754755756757760761762763764765766767770771772773774775776777800801802803804805806807808810811812813814815816817818820821822823824825826827828830831832833834835836837838840841842843844845846847848850851852853854855856857858860861862863864865866867868870871872873874875876877878880881882883884885886887888900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990
รูปแบบที่ 2
16 ไบต์, เอาต์พุต 1127
991,99>{`.$2>>},
โดยการแอบปิดค่าทั้งหมดน้อยกว่า99ล่วงหน้าสตริงผลลัพธ์อาจสั้นลงได้มากขึ้น
99100101110111200201202210211212220221222300301302303310311312313320321322323330331332333400401402403404410411412413414420421422423424430431432433434440441442443444500501502503504505510511512513514515520521522523524525530531532533534535540541542543544545550551552553554555600601602603604605606610611612613614615616620621622623624625626630631632633634635636640641642643644645646650651652653654655656660661662663664665666700701702703704705706707710711712713714715716717720721722723724725726727730731732733734735736737740741742743744745746747750751752753754755756757760761762763764765766767770771772773774775776777800801802803804805806807808810811812813814815816817818820821822823824825826827828830831832833834835836837838840841842843844845846847848850851852853854855856857858860861862863864865866867868870871872873874875876877878880881882883884885886887888900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990
Golfscript - 19 ไบต์, เอาต์พุต 1,016 รายการ
910,99>{`.2$\?)>+}/
ด้านบนนับจาก99ถึง909เพิ่มค่าใด ๆ ที่ยังไม่ปรากฏ ( 909จะเป็นค่าสุดท้ายที่เพิ่มด้วยวิธีนี้) การย้าย99ไปที่ด้านหน้าเป็นการเพิ่มประสิทธิภาพเพื่อหลีกเลี่ยงความต้องการ910ที่ด้านหลัง
เอาท์พุท:
99100101102103104105106107108109111112113114115116117118119120122123124125126127128129130132133134135136137138139140142143144145146147148149150152153154155156157158159160162163164165166167168169170172173174175176177178179180182183184185186187188189190192193194195196197198199200202203204205206207208209222223224225226227228229230233234235236237238239240243244245246247248249250253254255256257258259260263264265266267268269270273274275276277278279280283284285286287288289290293294295296297298299300303304305306307308309333334335336337338339340344345346347348349350354355356357358359360364365366367368369370374375376377378379380384385386387388389390394395396397398399400404405406407408409444445446447448449450455456457458459460465466467468469470475476477478479480485486487488489490495496497498499500505506507508509555556557558559560566567568569570576577578579580586587588589590596597598599600606607608609666667668669670677678679680687688689690697698699700707708709777778779780788789790798799800808809888889890899900909
Golfscript 26 ไบต์, 999 เอาต์พุต
909.,99>{`..$.2><3$@?+>+}/
หมายเหตุว่า1,016ตัวอักษรที่ผลิตโดยวิธีการแก้ปัญหาก่อนหน้านี้ที่ดีที่สุดเกือบยกเว้นมีตัวเลขสองหลักพิเศษสำหรับหลายของแต่ละ111 (เช่น11111
แทน111
, 22222
แทน222
ฯลฯ ) วิธีการแก้ปัญหาสามารถทำให้ดีที่สุดโดยการลบตัวเลขพิเศษเหล่านี้ (เพียงแทรกหนึ่งหลักที่แต่ละค่าเหล่านี้แทนสาม) และโดยการหมุน909
ไปข้างหน้ากำจัด9
(นี้แตกต่างจากรุ่นก่อนหน้าซึ่งย้าย9100
ไปด้านหลังแทน )
ไม่ได้ควบคุมและแสดงความคิดเห็น:
909.,99> # add 909 to the stack, and duplicate
# create an array from 0..908, and
# remove the first 99 elements (99..908)
{
`.. # stringify, duplicate twice
$.2>< # non-divisibility by 111 check
# true if the last char of the sorted
# string is greater than the first char
3$@? # first position of this number in
# the total string so far (-1 if not found)
+> # add the two previous results,
# and slice from that point
# (see explanation below)
+ # concat what remains to the total string
}/ # loop over the set
ตรรกะในการเลือกอักขระที่จะต่อท้ายมีสามกรณี:
- 111 ∤ n , n ⊄ s
ค่าจากการตรวจสอบครั้งแรกคือ 1และจากสอง-1
ชิ้นจะเริ่มต้นจากดัชนี 0 ; มันจะส่งคืนสตริงทั้งหมด
- 111 ∤ n , n ⊂ s
ค่าจากการตรวจสอบครั้งแรกคือ 1และจากบางสิ่งบางอย่างที่สอง ≥ 2
ชิ้นจะเริ่มจ้องจากดัชนี ≥ 3 ; มันจะกลับสตริงที่ว่างเปล่า
- 111 | n , n ⊄ s
ค่าจากการตรวจสอบครั้งแรกเป็น 0และจากสอง-1
ชิ้นจะเริ่มต้นจากดัชนี -1 ; มันจะกลับอักขระสุดท้ายเท่านั้น
ผลรวมของลอจิกคือค่าใด ๆ ที่ยังไม่ปรากฏจะถูกผนวกเข้าด้วยกันทั้งหมดเว้นแต่ว่าจะเป็นผลคูณของ111ซึ่งในกรณีนี้จะมีเพียงหนึ่งอักขระเท่านั้นที่ต่อท้าย ค่าอื่น ๆ ทั้งหมดจะถูกละเว้น
โปรดทราบว่าสายการผลิตที่แตกต่างกันมากกว่าหนึ่งที่ดีที่สุดที่ผลิตโดยคำตอบที่ปีเตอร์เทย์เลอร์
ประวัติความเป็นมา:
899,{101+.111%{`.2$\?0<*}{3/9%}if+}/
899,{101+`.2$\?0<\.~111%2*)<*+}/0
899,{101+`.2$\?0<\..2>-!2*>*+}/0
899,{101+`...2>|,1|<2$@?0<*+}/0
999,{`..$.2>>2*>2$@?0<*+}/3>0
899,{101+`..$.2><3$@?+>+}/0
เอาท์พุท:
909910010110210310410510610710810911121131141151161171181191201221231241251261271281291301321331341351361371381391401421431441451461471481491501521531541551561571581591601621631641651661671681691701721731741751761771781791801821831841851861871881891901921931941951961971981992002022032042052062072082092223224225226227228229230233234235236237238239240243244245246247248249250253254255256257258259260263264265266267268269270273274275276277278279280283284285286287288289290293294295296297298299300303304305306307308309333433533633733833934034434534634734834935035435535635735835936036436536636736836937037437537637737837938038438538638738838939039439539639739839940040440540640740840944454464474484494504554564574584594604654664674684694704754764774784794804854864874884894904954964974984995005055065075085095556557558559560566567568569570576577578579580586587588589590596597598599600606607608609666766866967067767867968068768868969069769869970070770870977787797807887897907987998008088098889890899900