এক রিং তাদের সমস্ত সম্ভবনাকে. ওয়ান স্ট্রিং এ সবগুলিকে ধারণ করে


43

উদ্দেশ্যগুলি: একটি স্ট্রিং আউটপুট করুন যা প্রতি ধনাত্মক পূর্ণসংখ্যা 1000 এর নিচে থাকে।

সুস্পষ্ট উত্তরটি তাদের প্রত্যেকটির প্রতি মনোনিবেশ করা হবে এবং এই ধরনের সহজ উত্তর এড়াতে, স্ট্রিংটির দৈর্ঘ্য 1500 বর্ণের নীচে হওয়া আবশ্যক, 2890 টি অক্ষরের একটি স্ট্রিং তৈরি করা হবে (ধন্যবাদ ম্যান্টওয়ার্ক)। এখানে একটি সরল জাভা কোড যা 1200 অক্ষরের স্ট্রিংকে আউটপুট করে।

import org.junit.Test;

import java.util.ArrayList;
import java.util.List;
import java.util.TreeSet;

import static org.junit.Assert.assertTrue;

/**
 * Created with IntelliJ IDEA.
 * User: fab
 * Date: 05/11/13
 * Time: 09:53
 * To change this template use File | Settings | File Templates.
 */
public class AStringToContainThemAll {

    @Test
    public void testsubStrings() throws Exception {
        String a = generateNewString();
        boolean cool = true;
        for (int i = 0; i < 1000; i++) {
            assertTrue(a.contains(Integer.toString(i)));
        }
    }

    private String generateNewString() {
        List<Integer> myTree = new ArrayList<Integer>();
        String finalString = new String("100");
        for (int i = 10; i < 1000; i++) {
            myTree.add(i);
        }
        while (myTree.size() > 0) {
            if (finalString.contains(Integer.toString(myTree.get(0)))) {
                myTree.remove(0);
            } else {
                String substringLong = finalString.substring(finalString.length() - 2, finalString.length());
                boolean found = false;
                loop:
                for (Integer integer : myTree) {
                    if (integer.toString().startsWith(substringLong) && !finalString.contains(integer.toString())) {
                        finalString = finalString.concat(integer.toString().substring(2, 3));
                        myTree.remove(integer);
                        found = true;
                        break loop;
                    }
                }
                if(! found){
                    finalString = finalString.concat(myTree.get(0).toString());
                    myTree.remove(0);
                }
            }


        }
        return finalString;
    }
}

সংক্ষিপ্ততম কোড জয়, স্বল্পতম স্ট্রিংয়ের বোনাস পয়েন্ট!


11
অনুকূল স্ট্রিং 1002 অক্ষর দীর্ঘ।
পিটার টেলর

8
মূলত আপনি একটি ডি ব্রুইজন ক্রম চাইছেন B(10, 3), তবে আপনি চক্রটি মোড়ানোর অনুমতি না দেওয়ার কারণে প্রথম দুটি অক্ষর পুনরাবৃত্তি করা প্রয়োজন।
পিটার টেলর

3
তবে আমি চাই যে স্ট্রিংটি 1, 2 বা 56 টি থাকা উচিত, অগত্যা 001 002 এবং 056.
ফেবিনআউট

6
আপনার সমস্যাটি সমাধান করা অসম্ভব কারণ আপনি বলেছিলেন যে সংখ্যাটি পূর্ণসংখ্যা নয় । 1000 এর নীচে সমস্ত ধনাত্মক সংখ্যা সমন্বিত করতে স্ট্রিংটির দৈর্ঘ্য দৈর্ঘ্যের হতে হবে
রামচন্দ্র আপ্তে

11
@ রমচন্দ্রআপতে এবং এখনও সীমাহীন দৈর্ঘ্যের কোনও স্ট্রিংয়ের বেশিরভাগ সংখ্যা অনুপস্থিত হবে ;-)
হাওয়ার্ড

উত্তর:


19

গল্ফস্ক্রিপ্ট - 13 বাইট, 1315 আউটপুট

991,{`.$2>>},

উপরেরটি 0-990 থেকে সেই সংখ্যাগুলি নির্বাচন করে যার প্রথম সংখ্যাটি সংখ্যার বৃহত্তম অঙ্ক, অর্থাৎ সাজানো স্ট্রিং প্রতিনিধিত্বের শেষ সংখ্যাটি স্ট্রিংয়ের চেয়ে ডিক্সিকোগ্রাফিকভাবে কম। যুক্তিটি নিম্নলিখিত:

একটি 3 ডিজিটের সংখ্যার abc এর জন্য , যদি কোনও সংখ্যার বৃহত্তম অঙ্ক না হয় তবে আমার নম্বরটি বাদ দেওয়া হবে, কারণ এটি পরে দুটি ক্ষেত্রে একটির দ্বারা আচ্ছাদিত হবে:

  1. b <c (উদাঃ 123 )
    যেহেতু বৃহত্তম অঙ্ক, তাই নম্বরটি ক্যাব বাদ দেওয়া হবে না। এই উদাহরণে 312 এড়ানো হবে না, বা পরবর্তী মান 313 হবে না, যা সংক্ষিপ্ত হয়ে গেলে ( 312 313 ) 123 থাকে

  2. b ≥ c (উদাঃ ১৩২ )
    যেহেতু b বৃহত্তম সংখ্যা, তাই বিসিএ সংখ্যাটিএড়ানো যাবে না। এই উদাহরণে 321 এড়ানো যাবে না, বা পরবর্তী মান 322 হবে নাযা সংক্ষিপ্ত হয়ে গেলে ( 321 322 ) 132 থাকে । যদি খ = সি (উদাঃ 122 ) হয় তবে এই ক্ষেত্রেও প্রযোজ্য। মান BCA এড়ানো হবে না, যেমন আগে, এবং কারণ একটি অগত্যা কম , BC <একটি + 1> পারেন এড়ানো করা হবে না। এই উদাহরণস্বরূপ, 221 222 এ 122 রয়েছে।

কারণ উপরের কোডটি তৃতীয় অঙ্কটি পরীক্ষা করে, কঠোরভাবে শেষের চেয়ে, 0-99 থেকে সমস্ত মান ফলাফলের মধ্যে অন্তর্ভুক্ত করা হয়। 1-99 এর মানগুলি এড়িয়ে যেতে পারে, তবে, যদি প্রতি 3-অঙ্কের অনুক্রম উপস্থিত থাকে তবে প্রতি 1-অঙ্ক এবং 2-অঙ্কের ক্রমটি অবশ্যই উপস্থিত থাকতে হবে

থেকে মানগুলি 991-999 এছাড়াও, অবজ্ঞা করা যায় হিসাবে (দ্বারা তৈরি হয় 909 910 , 919 920 , ... 989 990 )।

আউটপুট 1315 বাইট এ, এটি 1500 এরও কম সমস্যার স্পেসিফিকেশন এর আওতায় রয়েছে।

আউটপুট:

0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101110111200201202210211212220221222300301302303310311312313320321322323330331332333400401402403404410411412413414420421422423424430431432433434440441442443444500501502503504505510511512513514515520521522523524525530531532533534535540541542543544545550551552553554555600601602603604605606610611612613614615616620621622623624625626630631632633634635636640641642643644645646650651652653654655656660661662663664665666700701702703704705706707710711712713714715716717720721722723724725726727730731732733734735736737740741742743744745746747750751752753754755756757760761762763764765766767770771772773774775776777800801802803804805806807808810811812813814815816817818820821822823824825826827828830831832833834835836837838840841842843844845846847848850851852853854855856857858860861862863864865866867868870871872873874875876877878880881882883884885886887888900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990

পার্থক্য # 1

14 বাইট, 1233 আউটপুট

991,{`.$-1>>},

তৃতীয়টির চেয়ে তুলনামূলকভাবে শেষ সংখ্যাটি কঠোরভাবে নির্বাচন করে, 100 এর চেয়ে কম অপ্রয়োজনীয় মানগুলি মুছে ফেলা হয়, ফলাফলটি স্ট্রিংকে সংক্ষিপ্ত করে তোলে ।

101120212230313233404142434450515253545560616263646566707172737475767780818283848586878890919293949596979899100101110111200201202210211212220221222300301302303310311312313320321322323330331332333400401402403404410411412413414420421422423424430431432433434440441442443444500501502503504505510511512513514515520521522523524525530531532533534535540541542543544545550551552553554555600601602603604605606610611612613614615616620621622623624625626630631632633634635636640641642643644645646650651652653654655656660661662663664665666700701702703704705706707710711712713714715716717720721722723724725726727730731732733734735736737740741742743744745746747750751752753754755756757760761762763764765766767770771772773774775776777800801802803804805806807808810811812813814815816817818820821822823824825826827828830831832833834835836837838840841842843844845846847848850851852853854855856857858860861862863864865866867868870871872873874875876877878880881882883884885886887888900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990

পার্থক্য # 2

16 বাইট, 1127 আউটপুট

991,99>{`.$2>>},

99 টিরও কম আগে সকল মান ছাড়ে, ফলস্বরূপ স্ট্রিং আরও ছোট করা যেতে পারে।

99100101110111200201202210211212220221222300301302303310311312313320321322323330331332333400401402403404410411412413414420421422423424430431432433434440441442443444500501502503504505510511512513514515520521522523524525530531532533534535540541542543544545550551552553554555600601602603604605606610611612613614615616620621622623624625626630631632633634635636640641642643644645646650651652653654655656660661662663664665666700701702703704705706707710711712713714715716717720721722723724725726727730731732733734735736737740741742743744745746747750751752753754755756757760761762763764765766767770771772773774775776777800801802803804805806807808810811812813814815816817818820821822823824825826827828830831832833834835836837838840841842843844845846847848850851852853854855856857858860861862863864865866867868870871872873874875876877878880881882883884885886887888900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990

গল্ফস্ক্রিপ্ট - 19 বাইট, 1016 আউটপুট

910,99>{`.2$\?)>+}/

উপরের সংখ্যাটি 99 থেকে 909 পর্যন্ত গণনা করা হয়েছে , ইতিমধ্যে উপস্থিত না হওয়া কোনও মান যুক্ত করে ( 909 সাধারণত এইভাবে যুক্ত করা শেষ মান হবে)। পিছনে 910 এর প্রয়োজন এড়াতে 99 এ সামনের দিকে সরানো একটি অনুকূলকরণ ।

আউটপুট:

99100101102103104105106107108109111112113114115116117118119120122123124125126127128129130132133134135136137138139140142143144145146147148149150152153154155156157158159160162163164165166167168169170172173174175176177178179180182183184185186187188189190192193194195196197198199200202203204205206207208209222223224225226227228229230233234235236237238239240243244245246247248249250253254255256257258259260263264265266267268269270273274275276277278279280283284285286287288289290293294295296297298299300303304305306307308309333334335336337338339340344345346347348349350354355356357358359360364365366367368369370374375376377378379380384385386387388389390394395396397398399400404405406407408409444445446447448449450455456457458459460465466467468469470475476477478479480485486487488489490495496497498499500505506507508509555556557558559560566567568569570576577578579580586587588589590596597598599600606607608609666667668669670677678679680687688689690697698699700707708709777778779780788789790798799800808809888889890899900909

গল্ফস্ক্রিপ্ট 26 বাইট, 999 আউটপুট

909.,99>{`..$.2><3$@?+>+}/

মনে রাখবেন যে পূর্ববর্তী দ্রষ্টব্য দ্বারা উত্পাদিত 1016 অক্ষরের স্ট্রিংটি প্রায় 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

কোন অক্ষর যুক্ত করা হয়েছে তা বেছে নেওয়ার যুক্তিটি তিনটি ক্ষেত্রে অনুসরণ করে:

  1. 111n , ns
    প্রথম চেকের মান 1 , এবং দ্বিতীয় -1 থেকে
    স্লাইস সূচক 0 থেকে শুরু হবে; এটি পুরো স্ট্রিংটি ফিরিয়ে দেবে।
  2. 111n , ns
    প্রথম চেকের মান 1 এবং দ্বিতীয়টি থেকে 2। 2
    স্লাইস সূচক ing 3 থেকে শুরু হবে; এটি একটি খালি স্ট্রিং ফিরে আসবে।
  3. 111n , ns
    প্রথম চেক থেকে মান 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

45

গল্ফস্ক্রিপ্ট ( 35 31 26 অক্ষর)

10,{:x),{:&x=x+,{x&@}/}/}/

আউটপুট হয়

000100110111200201210211220221222300301302310311312320321322330331332333400401402403410411412413420421422423430431432433440441442443444500501502503504510511512513514520521522523524530531532533534540541542543544550551552553554555600601602603604605610611612613614615620621622623624625630631632633634635640641642643644645650651652653654655660661662663664665666700701702703704705706710711712713714715716720721722723724725726730731732733734735736740741742743744745746750751752753754755756760761762763764765766770771772773774775776777800801802803804805806807810811812813814815816817820821822823824825826827830831832833834835836837840841842843844845846847850851852853854855856857860861862863864865866867870871872873874875876877880881882883884885886887888900901902903904905906907908910911912913914915916917918920921922923924925926927928930931932933934935936937938940941942943944945946947948950951952953954955956957958960961962963964965966967968970971972973974975976977978980981982983984985986987988990991992993994995996997998999

(১০২০ অক্ষর) এটি লিন্ডন শব্দের সংমিশ্রণ পদ্ধতির একটি বৈকল্পিক: আদিম 1-চর শব্দগুলি ব্যবহার না করে এটি সংক্ষিপ্ত কোডের জন্য 111 এর গুণক ব্যবহার করে তবে সেই সংখ্যার বারবার উপস্থিতি ঘটায়; এবং সংযোগ গ্রুপগুলির ন্যূনতম উপাদানগুলি ব্যবহার না করে এটি সর্বাধিক উপাদান ব্যবহার করে, কারণ এটি লুপগুলি সংক্ষিপ্ত করে।


10,:^{:x^>{x.@:&<+^>{.x>{x&@}*}/}/}%3>0.

40 অক্ষরে (সম্ভবত এখনও উন্নত করা যেতে পারে) একটি অনুকূল স্ট্রিং উত্পন্ন করে, যা দৈর্ঘ্য 999 অক্ষর:

100200300400500600700800901101201301401501601701801902102202302402502602702802903103203303403503603703803904104204304404504604704804905105205305405505605705805906106206306406506606706806907107207307407507607707807908108208308408508608708808909109209309409509609709809911121131141151161171181191221231241251261271281291321331341351361371381391421431441451461471481491521531541551561571581591621631641651661671681691721731741751761771781791821831841851861871881891921931941951961971981992223224225226227228229233234235236237238239243244245246247248249253254255256257258259263264265266267268269273274275276277278279283284285286287288289293294295296297298299333433533633733833934434534634734834935435535635735835936436536636736836937437537637737837938438538638738838939439539639739839944454464474484494554564574584594654664674684694754764774784794854864874884894954964974984995556557558559566567568569576577578579586587588589596597598599666766866967767867968768868969769869977787797887897987998889899900

এটি করতে চেষ্টা করে এমন বিপরীত স্ট্রিংগুলি 111 এর গুণক বাদ দিয়ে সমস্যার মধ্যে চলে।

999 সর্বোত্তম দৈর্ঘ্যটি দেখার জন্য (যেহেতু উপরে আমার সংক্ষিপ্ত মন্তব্যগুলি সবাইকে বোঝায় না), পূর্ণ ডি ব্রুইজন ক্রম থেকে শুরু করুন যা (একটি চক্রীয় স্ট্রিং হিসাবে নেওয়া হয়েছে) প্রতিটি 3-অঙ্কের অক্ষর 0 থেকে 9 পর্যন্ত রয়েছে Since এর মধ্যে 1000 টি রয়েছে, এটি অবশ্যই কমপক্ষে 1000 অক্ষর দীর্ঘ হতে হবে; এটা অবিকল 1000 অক্ষর দীর্ঘ সাধারণত একটি গ্রাফ যার নোড দুই অঙ্ক ক্রম উপর একটি Eulerian হাঁটার দ্বারা প্রমাণিত হয় হতে পারে xyপ্রতিটি এক অঙ্ক দিয়ে লেবেল 10 প্রান্ত সঙ্গে, zযা নেওয়া xyথেকে yz

শুরুতে আমাদের সিকোয়েন্সগুলির দরকার নেই 0, সুতরাং একটি ডি ব্রুইজন ক্রম দেওয়া থাকলে আমরা 000শেষে ঘোরতে পারি । তারপরে আমাদের আর কোনও ক্রমগুলির প্রয়োজন নেই যা শুরু পর্যন্ত পুরোটা গুটিয়ে দেয়, তবে 0এর আগে অঙ্কটি দিয়ে শুরু হওয়া ক্রমটি শেষ করতে আমাদের দুটি এস দরকার 000, তাই আমরা 999-বর্ণের স্ট্রিং পেতে তার মধ্যে একটি মুছতে পারি। বাকি প্রতিটি 0একটি সংখ্যায় ব্যবহৃত হয় যা দিয়ে শুরু হয় না 0


8
এটা সত্যিই চিত্তাকর্ষক !!
ফেবিনআউট

আমি একটি ফিল্টারিং বা জেনারেটর পদ্ধতির ব্যবহার করতে পছন্দ করব। সিউডো-লিন্ডন পদ্ধতির জন্য আমি 32 টি 10,:^{:x^>{x.@:&<+^>{x&@}/}/}/0.অক্ষরে জেনেরেটিক অ্যাপ্রোচ পেয়েছি: সত্যিকারের লিন্ডন শব্দের 10,:^{:x^>{x.@:&<+^>{.x>{x&@}*}/}/}%3>0.জন্য অনুকূল স্ট্রিংয়ের জন্য (40 টি অক্ষর) ভিন্নতা দেওয়া।
পিটার টেলর

100 এর নীচের সংখ্যার জন্য নেতৃস্থানীয় শূন্যগুলি ব্যবহার না করে আপনি কী সর্বোত্তম স্ট্রিং সংক্ষিপ্ত পেতে পারেন?
র্যান্ডম 832

1
@ র্যান্ডম 832 আমি নিশ্চিত আপনি পারবেন না pretty আপনাকে ১০০, ২০০, ... ৯৯ সংখ্যা অন্তর্ভুক্ত করতে হবে, তাই ন্যূনতম স্ট্রিংটিতে অবশ্যই অবশ্যই ৮ টি এক্স এর আটটি সংঘটিত ঘটনা ঘটতে চলেছে (উপরের মত একটি ডানদিকে ডানদিকে থাকতে পারে)। নোট করুন যে প্রদত্ত অনুকূল স্ট্রিংটিতে "001" নেই।
ttppp

2
সাধারণত আমি যে কোডটি বুঝি না সেগুলি upvote করি না তবে এই ক্ষেত্রে আমি এটি upvot করছি কারণ আমি বুঝতে পারি না। সাবাস।
বেন জ্যাকসন

29

গল্ফস্ক্রিপ্ট, 17 টি অক্ষর

999,{`1$1$?0<*+}/

ইতিমধ্যে স্ট্রিংটিতে উপস্থিত না থাকলে প্রতিটি সংখ্যা যুক্ত করার জন্য সরল পদ্ধতির (দ্রষ্টব্য: 999 চেক বা যুক্ত নয়, তবে ইতিমধ্যে আউটপুটে রয়েছে)।

আউটপুট 1133 টি অক্ষর:

01234567891011131415161718192021222425262728293032333536373839404344464748495054555758596065666869707677798087889099100102103104105106107108109110112114115116117118119120124125126127128129130132133134135136137138139140142143144145146147148149150152153154155156157158159160162163164165166167168169170172173174175176177178179180182183184185186187188189190193194195196197198199200203204205206207208209219220221223225226227228229230231235236237238239240243244245246247248249250253254255256257258259260263264265266267268269270273274275276277278279280283284285286287288289290294295296297298299300304305306307308309311329330332334336337338339340342346347348349350354355356357358359360364365366367368369370374375376377378379380384385386387388389390395396397398399400405406407408409422439440443445447448449450453457458459460465466467468469470475476477478479480485486487488489490496497498499500506507508509533549550554556558559560564568569570576577578579580586587588589590597598599600607608609644659660665667669670675679680687688689690698699700708709755769770776778780786790797799800809866877879880887888897898899900908932943954965976979987989

20

আমার কাছে কোনও কোড নেই তবে আমি ভেবেছিলাম যে কেউ এই স্বজ্ঞাত প্রমাণের প্রশংসা করতে পারে যে 999 অক্ষর আউটপুট দৈর্ঘ্যের সাথে নীচে আবদ্ধ:

প্রথমত, প্রতি 1- এবং 2-সংখ্যার নম্বরটি 3-সংখ্যার সংখ্যার অংশ, সুতরাং 100 এর চেয়ে কম কিছু উপেক্ষা করুন 100

সমস্যাটি সমাধানের সর্বাধিক সর্বোত্তম উপায় হ'ল যদি প্রতিটি চরিত্র যথাসম্ভব ব্যবহার করা হয়। এর অর্থ সংখ্যাটি যতটা সম্ভব ওভারল্যাপ হয়, এর মতো:

123
 234
  345

প্রথম সংখ্যাটি 3 টি অক্ষর যুক্ত করবে এবং পরবর্তী প্রতিটি সংখ্যায় 1 টি অক্ষর যুক্ত হবে। এটি নিম্ন বাউন্ড হিসাবে 3 + 899 = 902 টি অক্ষর দেয়।

তবে, যখন একটি শূন্য থাকে, আমরা এটি নতুন 3-অঙ্কের নম্বর শুরু করতে ব্যবহার করতে পারি না। যতক্ষণ না এটি অন্য শূন্যের অনুসরণ না করা হয় ততক্ষণ আমরা এটি আরও 3-সংখ্যার মাঝখানে পুনরায় ব্যবহার করতে পারি:

120
 203  <- Ok.
  034 <- not a number 100-999.

কিন্তু:

100
 002  <- not a number 100-999.
  023 <- not a number 100-999.

সুতরাং, আউটপুটে প্রদর্শিত প্রতিটি শূন্য আউটপুটটিকে 1 অক্ষর দ্বারা প্রসারিত করে - শেষ দুটি অক্ষর ব্যতীত যা শূন্য হতে পারে কারণ তারা আরও কোনও সংখ্যাকে ওভারল্যাপ না করে:

???
 ??0
  ?00

মাঝখানে কঠোরভাবে এক শূন্যের সাথে 81 টি সংখ্যা রয়েছে (? 0?), শেষে কঠোরভাবে এক শূন্য (?? 0), এবং দুটি জিরো (? 00) সহ 9 টি রয়েছে?

প্রতি ?? 0 সংখ্যাটি একটি? 0 দিয়ে শূন্য ভাগ করতে পারে? সংখ্যা বা একটি? 00 নম্বর, তবে উভয়ই নয়। 0? এবং? 00 কখনই জিরো ভাগ করতে পারে না, সুতরাং আউটপুটে কমপক্ষে 81 + 9 * 2 জিরো থাকতে হবে।

এটি 3 + 899 + 81 + 9 * 2 - 2 = 999 টি অক্ষরের নিম্ন সীমা দেয়।

যদি এটিকে অফ-টপিক হিসাবে বিবেচনা করা হয় তবে ক্ষমাপ্রার্থী, তবে কোনও মন্তব্যে এটি যথেষ্ট দীর্ঘ ছিল না।


1
সতর্ক থাকুন জন্য ধন্যবাদ! এটি মজাদার বিষয় যে স্ট্রিংটিতে প্রতি মাপের 999 এর চেয়ে কম 999 বর্ণের দৈর্ঘ্য থাকে।
ফেবিনআউট


1
এটা মজার বিষয় যে মজাদার ঘটনাটি লক্ষ্য করা যায় যে প্রতিটি সংখ্যা 999 অবধি স্ট্রিংয়ে সংরক্ষণ করা 999 অক্ষর দীর্ঘ করে দেয়। আমি ভুল হলে আমাকে সংশোধন করুন তবে আমি বিশ্বাস করি যে 99 নম্বর পর্যন্ত প্রতিটি সংখ্যা সংরক্ষণ করা এটি 100 অক্ষর দীর্ঘ করে তোলে।
ফেবিনআউট

2
একই যুক্তি দিয়ে নিম্নের সীমাটি 2 + 89 + 9 - 1 = 99 তবে এটি 99 প্রমাণিত হয় তা প্রমাণিত হয় না, কেবল যে 98 নয়।
এলিস্টায়ার বুকসটন

17

পার্ল, 37 34 33 32 (1136 1132 টি অক্ষর)

for$@(1..999){$_.=$@x!/$@/}print

$ জন্য @ (1..999) {$: _। = $ @ কিনা! / $ @ /} মুদ্রণ

$ i (1..999) এর জন্য 1. $ _। = $ i if! / $ i /} মুদ্রণ

(১.১.৩৩) {$ s। = $ _ যদি $ s! ~ / $ _ /} মুদ্রণ $ গুলি

আউটপুট:

12345678910111314151617181920212224252627282930323335363738394043444647484950545557585960656668697076777980878890991001021031041051061071081091101121141151161171181191201241251261271281291301321331341351361371381391401421431441451461471481491501521531541551561571581591601621631641651661671681691701721731741751761771781791801821831841851861871881891901931941951961971981992002032042052062072082092192202212232252262272282292302312352362372382392402432442452462472482492502532542552562572582592602632642652662672682692702732742752762772782792802832842852862872882892902942952962972982993003043053063073083093113293303323343363373383393403423463473483493503543553563573583593603643653663673683693703743753763773783793803843853863873883893903953963973983994004054064074084094224394404434454474484494504534574584594604654664674684694704754764774784794804854864874884894904964974984995005065075085095335495505545565585595605645685695705765775785795805865875885895905975985996006076086096446596606656676696706756796806876886896906986997007087097557697707767787807867907977998008098668778798808878888978988999009089329439549659769799879891000

ছোট স্ট্রিং: 38 37 34 (1020 টি অক্ষর):

$_.=$@x!/$@/while$@=--$@%1e3;print

জন্য ($ @ = 1e3; $ @ -;) {$: _ = $ @ যদি / $ @ /।} মুদ্রণ

($ i = 1e3; $ i -;) {$ _। = $ i যদি! / $ i /} মুদ্রণ

আউটপুট:

999998997996995994993992991990988987986985984983982981980978977976975974973972971970968967966965964963962961960958957956955954953952951950948947946945944943942941940938937936935934933932931930928927926925924923922921920918917916915914913912911910908907906905904903902901900888887886885884883882881880877876875874873872871870867866865864863862861860857856855854853852851850847846845844843842841840837836835834833832831830827826825824823822821820817816815814813812811810807806805804803802801800777776775774773772771770766765764763762761760756755754753752751750746745744743742741740736735734733732731730726725724723722721720716715714713712711710706705704703702701700666665664663662661660655654653652651650645644643642641640635634633632631630625624623622621620615614613612611610605604603602601600555554553552551550544543542541540534533532531530524523522521520514513512511510504503502501500444443442441440433432431430423422421420413412411410403402401400333332331330322321320312311310302301300222221220211210201200111110101100

বিশেষে শুরুতে 99999 সদৃশ নিয়ে এখনও খুশি নন! আমি মনে করি আরও অনেক চেক আরও অনেক কোড তৈরি করবে যদিও ...

সম্পাদনা: @ পিটার টেইলরের পরামর্শ যুক্ত করা হয়েছে

সম্পাদনা 2: @ প্রিমো থেকে কিছু দুর্দান্ত পরামর্শ! ধন্যবাদ


2
1000e 1e3 হিসাবে লিখতে দুর্দান্ত কৌশল, তবে আমি মনে করি এটি অর্থহীন। প্রশ্ন বলে "কঠোরভাবে 1000 নীচের", যে অর্থ হবে এবং 999. সহ (নমুনা কোড এছাড়াও 0..999 প্রক্রিয়া করে।)
manatwork

একটি দুর্দান্ত পয়েন্ট! শুরু করার সাথে আমার আলাদা লুপ ছিল, আমি সে অনুযায়ী এটি সংশোধন করেছি! ধন্যবাদ!
ডম হেস্টিংস

3
আপনি যদি নিজের ভেরিয়েবলের জন্য একটি অ-বর্ণমালা অক্ষর ব্যবহার করেন তবে আপনি স্থানটি সরাতে পারবেন?
পিটার টেলর

আহ্ হ্যাঁ, পারব! ধন্যবাদ!
ডোম হেস্টিংস

2
আরও কয়েকটি ছোটখাটো উন্নতি: এর পরিবর্তে $_.=$@if!/$@/, আপনি স্ট্রিং পুনরাবৃত্তি ব্যবহার করতে পারেন $_.=$@x!/$@/forএকটি দ্বারা প্রতিস্থাপিত করা যাবে while: এক বিবৃতিতে পরিবর্তক হিসেবে, একটি মডিউল ব্যবহার...while$@=--$@%1e3
Primo

10

এপিএল (20, আউটপুট: 1020)

{∨/⍺⍷⍵:⍵⋄⍵,⍺}/⍕¨⍳999

ব্যাখ্যা:

  • {∨/⍺⍷⍵:⍵⋄⍵,⍺}যদি একটি সাবস্ট্রিং , এর বিনিময়ে , অন্য আগমন⍵,⍺
  • /: ওভার হ্রাস
  • ⍕¨: প্রতিটি স্ট্রিং প্রতিনিধিত্ব
  • ⍳999থেকে পূর্ণসংখ্যার 1থেকে 999

আউটপুট:

9999989979969959949939929919909889879869859849839829819809789779769759749739729719709689679669659649639629619609589579569
      55954953952951950948947946945944943942941940938937936935934933932931930928927926925924923922921920918917916915914913
      91291191090890790690590490390290190088888788688588488388288188087787687587487387287187086786686586486386286186085785
      68558548538528518508478468458448438428418408378368358348338328318308278268258248238228218208178168158148138128118108
      07806805804803802801800777776775774773772771770766765764763762761760756755754753752751750746745744743742741740736735
      73473373273173072672572472372272172071671571471371271171070670570470370270170066666566466366266166065565465365265165
      06456446436426416406356346336326316306256246236226216206156146136126116106056046036026016005555545535525515505445435
      42541540534533532531530524523522521520514513512511510504503502501500444443442441440433432431430423422421420413412411
      410403402401400333332331330322321320312311310302301300222221220211210201200111110101100

এপিএল (41, আউটপুট: 999)

'0',⍨⊃{⍵,⍺⍴⍨(1=⍴∪⍺)∨3×~∨/⍺⍷⍵}/⌽⍕¨100+⍳898

ব্যাখ্যা:

  • ⌽⍕¨100+⍳898: ('999' '998' ... '101')(বিপরীত ক্রমে, কারণ হ্রাস এপিএলে ডান থেকে বামে যায়, অর্থাত্ F/a b c ≡ a F (b F c))
  • /: হ্রাস
  • ⍵,⍺⍴⍨: ডান আর্গুমেন্ট, Nবাম আর্গুমেন্টের প্রথম অক্ষরগুলি অনুসরণ করে , এটি কোথায় N:
  • 3×~∨/⍺⍷⍵: অন্যথায়, 3যদি একটি স্ট্রাস্টিং না হয়0
  • (1=⍴∪⍺): অন্যথায়, 1যদি কেবল একটি অনন্য বৈশিষ্ট্যযুক্ত থাকে0
  • : পূর্ববর্তী দুটি মানের সবচেয়ে সাধারণ বিভাজক, সুতরাং: 1যদি ইতিমধ্যে না থাকে এবং কেবলমাত্র একটি অনন্য চরিত্র 3থাকে তবে যদি ইতিমধ্যে না থাকে তবে একাধিক অনন্য চরিত্র থাকে, 0অন্যথায়।
  • '0',⍨: ফলাফলের শেষে একটি শূন্য যুক্ত করুন

আউটপুট:

10110210310410510610710810911121131141151161171181191201221231241251261271281291301321331341351361371381391401421431441451
      46147148149150152153154155156157158159160162163164165166167168169170172173174175176177178179180182183184185186187188
      18919019219319419519619719819920020220320420520620720820922232242252262272282292302332342352362372382392402432442452
      46247248249250253254255256257258259260263264265266267268269270273274275276277278279280283284285286287288289290293294
      29529629729829930030330430530630730830933343353363373383393403443453463473483493503543553563573583593603643653663673
      68369370374375376377378379380384385386387388389390394395396397398399400404405406407408409444544644744844945045545645
      74584594604654664674684694704754764774784794804854864874884894904954964974984995005055065075085095556557558559560566
      56756856957057657757857958058658758858959059659759859960060660760860966676686696706776786796806876886896906976986997
      00707708709777877978078878979079879980080880988898908999009099100

8

রুবি: 50 46 টি অক্ষর (1020 অক্ষরের আউটপুট)

s=""
999.downto(0){|i|s[n=i.to_s]||s+=n}
$><<s

নমুনা রান:

bash-4.1$ ruby -e 's="";999.downto(0){|i|s[n=i.to_s]||s+=n};$><<s'
999998997996995994993992991990988987986985984983982981980978977976975974973972971970968967966965964963962961960958957956955954953952951950948947946945944943942941940938937936935934933932931930928927926925924923922921920918917916915914913912911910908907906905904903902901900888887886885884883882881880877876875874873872871870867866865864863862861860857856855854853852851850847846845844843842841840837836835834833832831830827826825824823822821820817816815814813812811810807806805804803802801800777776775774773772771770766765764763762761760756755754753752751750746745744743742741740736735734733732731730726725724723722721720716715714713712711710706705704703702701700666665664663662661660655654653652651650645644643642641640635634633632631630625624623622621620615614613612611610605604603602601600555554553552551550544543542541540534533532531530524523522521520514513512511510504503502501500444443442441440433432431430423422421420413412411410403402401400333332331330322321320312311310302301300222221220211210201200111110101100

পরীক্ষা রান:

bash-4.1$ ruby -e 's="";999.downto(0){|i|s[n=i.to_s]||s+=n};$><<s' | ruby -ne 'p (0..999).reject{|i|$_[i.to_s]}'
[]

রুবি: 102 97 টি অক্ষর (999 টি অক্ষরের আউটপুট)

s=""
999.downto(0){|i|s[n=i.to_s]||[2,1].map{|j|n[0,j]==s[-j,j]&&s+=n[j,9]and break}&&s+=n}
$><<s

নমুনা রান:

bash-4.1$ ruby -e 's="";999.downto(0){|i|s[n=i.to_s]||[2,1].map{|j|n[0,j]==s[-j,j]&&s+=n[j,9]and break}&&s+=n};$><<s'
999899799699599499399299199098898798698598498398298198097897797697597497397297197096896796696596496396296196095895795695595495395295195094894794694594494394294194093893793693593493393293193092892792692592492392292192091891791691591491391291191090890790690590490390290190088878868858848838828818808778768758748738728718708678668658648638628618608578568558548538528518508478468458448438428418408378368358348338328318308278268258248238228218208178168158148138128118108078068058048038028018007776775774773772771770766765764763762761760756755754753752751750746745744743742741740736735734733732731730726725724723722721720716715714713712711710706705704703702701700666566466366266166065565465365265165064564464364264164063563463363263163062562462362262162061561461361261161060560460360260160055545535525515505445435425415405345335325315305245235225215205145135125115105045035025015004443442441440433432431430423422421420413412411410403402401400333233133032232132031231131030230130022212202112102012001110100

পরীক্ষা রান:

bash-4.1$ ruby -e 's="";999.downto(0){|i|s[n=i.to_s]||[2,1].map{|j|n[0,j]==s[-j,j]&&s+=n[j,9]and break}&&s+=n};$><<s' | ruby -ne 'p (0..999).reject{|i|$_[i.to_s]}'
[]

999 থেকে 0 এ যাওয়ার পক্ষে দুর্দান্ত ধারণা এবং বিপরীতে নয়। এটির সাহায্যে আমার জাভা পদ্ধতিটি 1048 টি অক্ষরের স্ট্রিং আউটপুট করে (1200 এর পরিবর্তে)।
ফেবিনআউট

1
আপনি যদি কোডের দৈর্ঘ্য সম্পর্কে এবং কেবল আউটপুট দৈর্ঘ্যের বিষয়ে চিন্তিত না হন তবে আপনি স্ট্রিংয়ের ব্যাপ্তিটি ব্যবহার করে প্রথমটিকে উন্নত করতে পারেন। এরকম কিছু (?0..?9*3).map{|i|$/[i]||($><<i;$/+=i)}হতে পারে?
পল প্রেস্টিজ

5

জাভাস্ক্রিপ্ট, 39

for(k=i="999";~k.indexOf(--i)?i:k+=i;);

1020 অক্ষর আউটপুট:

999998997996995994993992991990988987986985984983982981980978977976975974973972971970968967966965964963962961960958957956955954953952951950948947946945944943942941940938937936935934933932931930928927926925924923922921920918917916915914913912911910908907906905904903902901900888887886885884883882881880877876875874873872871870867866865864863862861860857856855854853852851850847846845844843842841840837836835834833832831830827826825824823822821820817816815814813812811810807806805804803802801800777776775774773772771770766765764763762761760756755754753752751750746745744743742741740736735734733732731730726725724723722721720716715714713712711710706705704703702701700666665664663662661660655654653652651650645644643642641640635634633632631630625624623622621620615614613612611610605604603602601600555554553552551550544543542541540534533532531530524523522521520514513512511510504503502501500444443442441440433432431430423422421420413412411410403402401400333332331330322321320312311310302301300222221220211210201200111110101100


প্রতিপাদন: for(i=0;i<1000;i++)console.assert(k.indexOf(i)>=0)


5

ম্যাথমেটিকা ​​( 62 64 টি অক্ষর, 1002 আউটপুট)

যেহেতু এটি একটি দেশীয় ফাংশনটি ব্যবহার করে, তাই আমি স্ক্র্যাচ থেকে সংক্ষিপ্ত সমাধানগুলির আরও বেশি সৌন্দর্যের প্রশংসা করি। আউটপুট 1002 অক্ষর দীর্ঘ।

<< Combinatorica`
"79" <> DeBruijnSequence["0"~CharacterRange~"9", 3]

"799798787770760750740730720710980970960950940930920910108908708608508408308208889998988081009909008007006005004003002000190180170160150140130120119118117116115114113112912812712612512412312213913813713613513413313214914814714614514414314215915815715615515415315216916816716616516416316217917817717617517417317218918818718618518418318219919819719619519419319212111029028027026025024023022922822722622522422392382372362352342332492482472462452442432592582572562552542532692682672662652642632792782772762752742732892882872862852842832992982972962952942932322202103903803703603503403393383373363353349348347346345344359358357356355354369368367366365364379378377376375374389388387386385384399398397396395394343330320310490480470460450449448447446445945845745645546946846746646547947847747647548948848748648549949849749649545444043042041059058057056055955855755695685675665795785775765895885875865995985975965655505405305205106906806706696686679678677689688687699698697676660650640630620610790780779778978879"

1
আপনি 799 এবং 997 নিখোঁজ রয়েছেন বলে মনে হয়। আদর্শনেড / ডি07 বিজি 2 দেখুন (বা আপনার নিজের চেকটি লিখুন)
জাস্টিন

ভালো বল ধরা. ডিফল্টরূপে, DeBruijnSequenceচক্রাকার মোড়ক ধরে নেয়। চূড়ান্ত দুটি সংখ্যা "79" প্রস্তুত করা সমস্যার সমাধান করে।
ডেভিডসি

4

গণিত, ৫১ টি চর

""<>Table[ToString/@({i,j,k}-1),{i,10},{j,i},{k,i}]

আউটপুট (1155 অক্ষর):

000100101110111200201202210211212220221222300301302303310311312313320321322323330331332333400401402403404410411412413414420421422423424430431432433434440441442443444500501502503504505510511512513514515520521522523524525530531532533534535540541542543544545550551552553554555600601602603604605606610611612613614615616620621622623624625626630631632633634635636640641642643644645646650651652653654655656660661662663664665666700701702703704705706707710711712713714715716717720721722723724725726727730731732733734735736737740741742743744745746747750751752753754755756757760761762763764765766767770771772773774775776777800801802803804805806807808810811812813814815816817818820821822823824825826827828830831832833834835836837838840841842843844845846847848850851852853854855856857858860861862863864865866867868870871872873874875876877878880881882883884885886887888900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999

এটার কাজ কি?
ফেবিনআউট

1
এটা তোলে ফর্মের তালিকার একটি তালিকা নির্মান {i, j, k}যেখানে i0 9 এবং থেকে j, kচেয়ে ছোট হয় i। তারপরে এটি তালিকাটিকে স্ট্রিংয়ে রূপান্তর করে।
আলেফাল্ফ

4

পাইথন - 53 63, 1134 আউটপুট

এটি বেশ ব্রুট জালিয়াতি, তবে এটি বৈধ। হ্যাঁ এটির একটি শীর্ষস্থানীয় শূন্য রয়েছে তবে এটি না পেয়ে দুটি অক্ষর সংরক্ষণ করে range(1,1000)

s=''
for i in range(1e3):s+=`i`*(not`i`in s)
print s

উপরের DeprecationWarningকলটিতে 1e3 এর ব্যবহারের উপরে ছুঁড়েছে range(), তবে এটি 1000 ব্যবহার করে একটি চরিত্র সংরক্ষণ করে।

পাশাপাশি আরও কিছুটা অনুকূল দৈর্ঘ্যের আউটপুট সংস্করণ রয়েছে of 65 টি অক্ষর (টিপসের জন্য পুনরায় এবং ফিল্মারকে ধন্যবাদ) :

পাইথন - 58, 1021 আউটপুট

s=''
for i in range(999,9,-1):s+=`i`*(not`i`in s)
print s

1
আপনার প্রথম প্রোগ্রাম আউটপুট দৈর্ঘ্য 1133 হয়েছে আমি খুঁজে না 1132. ইন পাইথন 2 (কিন্তু পাইথন 3) আপনাকে কোড খাটো করতে পারেন 54 টি ব্যাকটিক ব্যবহার করে অক্ষর:for i in range(999):s+=`i`*(not`i`in s)
মাঝামাঝি

জানি? তারা ব্যাকটিকস নিয়েছে? কী রাখবেন তা স্থির করার সময় গিডোর অবশ্যই একটি আই ঘৃণা পার্ল এবং যা কিছু দেখতে ভাল লাগে তা অবশ্যই ছিল।
ওয়ারেন পি

1
range(999,99,-1)পরিবর্তে ব্যবহার করে আপনি এটি একটি অক্ষর দ্বারা সংক্ষিপ্ত করতে পারেন range(1000)[::-1]
ফিল্মকার

এবং পুনরায় সাহায্যের str(i)*(str(i)not in s)i=str(i);s+=[i,''][i in s]
পরামর্শটি

@ ফিল্মারটি আরও ছোট করে 1e3তৈরি করা হয়েছে1000

2

কে, 33

{$[#ss[x]@y;x;,/x,y]}/["";$!1000]

মূলত হাওয়ার্ডস সমাধান হিসাবে একই - 1133 অক্ষর characters

01234567891011131415161718192021222425262728293032333536373839404344464748495054555758596065666869707677798087889099100102103104105106107108109110112114115116117118119120124125126127128129130132133134135136137138139140142143144145146147148149150152153154155156157158159160162163164165166167168169170172173174175176177178179180182183184185186187188189190193194195196197198199200203204205206207208209219220221223225226227228229230231235236237238239240243244245246247248249250253254255256257258259260263264265266267268269270273274275276277278279280283284285286287288289290294295296297298299300304305306307308309311329330332334336337338339340342346347348349350354355356357358359360364365366367368369370374375376377378379380384385386387388389390395396397398399400405406407408409422439440443445447448449450453457458459460465466467468469470475476477478479480485486487488489490496497498499500506507508509533549550554556558559560564568569570576577578579580586587588589590597598599600607608609644659660665667669670675679680687688689690698699700708709755769770776778780786790797799800809866877879880887888897898899900908932943954965976979987989

2

জাভা- 126 98 চর (জাভা 6)

class b{static{String s="";for(int a=999;a>0;a--)s=s.contains(""+a)?s:s+a;System.out.println(s);}}

আউটপুট (1020 চর):

999998997996995994993992991990988987986985984983982981980978977976975974973972971970968967966965964963962961960958957956955954953952951950948947946945944943942941940938937936935934933932931930928927926925924923922921920918917916915914913912911910908907906905904903902901900888887886885884883882881880877876875874873872871870867866865864863862861860857856855854853852851850847846845844843842841840837836835834833832831830827826825824823822821820817816815814813812811810807806805804803802801800777776775774773772771770766765764763762761760756755754753752751750746745744743742741740736735734733732731730726725724723722721720716715714713712711710706705704703702701700666665664663662661660655654653652651650645644643642641640635634633632631630625624623622621620615614613612611610605604603602601600555554553552551550544543542541540534533532531530524523522521520514513512511510504503502501500444443442441440433432431430423422421420413412411410403402401400333332331330322321320312311310302301300222221220211210201200111110101100

একটি ভাল পৌঁছতে পারে ( পিটার টেলারের মতে , তবে পরে তিনি বলেছেন 999 সর্বোত্তম ছিল) স্ট্রিংয়ের দৈর্ঘ্য কয়েক অক্ষর যোগ করে ( 147 118 এর জন্য +20 অক্ষর ):

class b{static{String s="";for(int a=999;a>0;a--)s=s.contains(""+a)?s:(a+1)%111==0?s+a%10:s+a;System.out.println(s);}}

আউটপুট (1002 চর):

999899799699599499399299199098898798698598498398298198097897797697597497397297197096896796696596496396296196095895795695595495395295195094894794694594494394294194093893793693593493393293193092892792692592492392292192091891791691591491391291191090890790690590490390290190088878868858848838828818808778768758748738728718708678668658648638628618608578568558548538528518508478468458448438428418408378368358348338328318308278268258248238228218208178168158148138128118108078068058048038028018007776775774773772771770766765764763762761760756755754753752751750746745744743742741740736735734733732731730726725724723722721720716715714713712711710706705704703702701700666566466366266166065565465365265165064564464364264164063563463363263163062562462362262162061561461361261161060560460360260160055545535525515505445435425415405345335325315305245235225215205145135125115105045035025015004443442441440433432431430423422421420413412411410403402401400333233133032232132031231131030230130022212202112102012001110101100

সম্পাদনা করুন : জাভা 6 28 টি অক্ষর বাঁচাতে পারে বলে উল্লেখ করার জন্য ফাবিনআউটকে ধন্যবাদ।


আপনি যদি চান, আপনি জাভা 6 দিয়ে সংকলন করতে পারেন এবং একটি System.out.println () এর পরিবর্তে একটি স্ট্যাটিক ব্লক ব্যবহার করতে পারেন !!
ফেবিনআউট

@ ফাবিনআউট আপনার পরিবর্তে একটি মানে public static void main(String[]a)? (যে থেকে আমার কোড পরিবর্তন হবে ...public static void main(String[]c){...থেকে ...static{...)
জাস্টিন

হ্যাঁ আমি কি. আপনি জাভা 6 দিয়ে চেষ্টা করতে পারেন
ফেবিনআউট

বিটিডব্লু, আপনি যদি আপনার প্রোগ্রামটি ক্র্যাশ না করতে চান তবে আপনার স্থির ব্লকের শেষে প্রস্থান () ব্যবহার করা উচিত। যদিও এটি গল্ফিংয়ে ক্র্যাশ না হওয়ার দরকার নেই।
ফেবিনআউট

2

উইন্ডোজ পাওয়ারশেল - 40, 1020 আউটপুট

999..0|%{$s+=if(!($s-match$_)){"$_"}};$s

আউটপুট:

999998997996995994993992991990988987986985984983982981980978977976975974973972971970968967966965964963962961960958957956955954953952951950948947946945944943942941940938937936935934933932931930928927926925924923922921920918917916915914913912911910908907906905904903902901900888887886885884883882881880877876875874873872871870867866865864863862861860857856855854853852851850847846845844843842841840837836835834833832831830827826825824823822821820817816815814813812811810807806805804803802801800777776775774773772771770766765764763762761760756755754753752751750746745744743742741740736735734733732731730726725724723722721720716715714713712711710706705704703702701700666665664663662661660655654653652651650645644643642641640635634633632631630625624623622621620615614613612611610605604603602601600555554553552551550544543542541540534533532531530524523522521520514513512511510504503502501500444443442441440433432431430423422421420413412411410403402401400333332331330322321320312311310302301300222221220211210201200111110101100

2

হাস্কেল, 75 বাইট - 1002 আউটপুট

একটি চালনী পদ্ধতির যা সর্বনিম্ন সমাধান দেয় returns

(\n->head.filter(\s->and[show k`isInfixOf`s|k<-[1..n]]).map show$[1..])1000

দ্রষ্টব্য যে এই সমাধানটি ব্যবহারিকভাবে ধীর গতির।


আপনি আমদানিতে অন্তর্ভুক্ত করতে হবে Data.Listজন্য isInfixOfঅবশ্য আপনি যদি এখনও 2 বাইট সংরক্ষণ করে এটি golfing করতে আরো কিছু: 1) হার্ডকোড n = 10002) ব্যবহারের allউপর andএবং বিধেয় 3) ব্যবহারের একটি pointfree সংস্করণ (!!0)উপর head4) সমন্বয় উপর ব্যবহারের তালিকা-ধী map& filter5) (<$>)ওভার ব্যবহার map:[s|s<-show<$>[1..],all((`isInfixOf`s).show)[1..1000]]!!0
ბიმო

2

পাওয়ারশেল, 36 বাইট, 1020 আউটপুট

999..9|%{$s+=(,"$_")[$s-match$_]};$s

আউটপুট:

999998997996995994993992991990988987986985984983982981980978977976975974973972971970968967966965964963962961960958957956955954953952951950948947946945944943942941940938937936935934933932931930928927926925924923922921920918917916915914913912911910908907906905904903902901900888887886885884883882881880877876875874873872871870867866865864863862861860857856855854853852851850847846845844843842841840837836835834833832831830827826825824823822821820817816815814813812811810807806805804803802801800777776775774773772771770766765764763762761760756755754753752751750746745744743742741740736735734733732731730726725724723722721720716715714713712711710706705704703702701700666665664663662661660655654653652651650645644643642641640635634633632631630625624623622621620615614613612611610605604603602601600555554553552551550544543542541540534533532531530524523522521520514513512511510504503502501500444443442441440433432431430423422421420413412411410403402401400333332331330322321320312311310302301300222221220211210201200111110101100

বিকল্প, 69 বাইট, 1000 আউটপুট

999..9|%{$s+=("$_",($x="$_"[-1]))[2*($s-match$_)+($s+$x-match$_)]};$s

আউটপুট:

9998997996995994993992991990988987986985984983982981980978977976975974973972971970968967966965964963962961960958957956955954953952951950948947946945944943942941940938937936935934933932931930928927926925924923922921920918917916915914913912911910908907906905904903902901900888788688588488388288188087787687587487387287187086786686586486386286186085785685585485385285185084784684584484384284184083783683583483383283183082782682582482382282182081781681581481381281181080780680580480380280180077767757747737727717707667657647637627617607567557547537527517507467457447437427417407367357347337327317307267257247237227217207167157147137127117107067057047037027017006665664663662661660655654653652651650645644643642641640635634633632631630625624623622621620615614613612611610605604603602601600555455355255155054454354254154053453353253153052452352252152051451351251151050450350250150044434424414404334324314304234224214204134124114104034024014003332331330322321320312311310302301300222122021121020120011101100

বিকল্প, 82 73 বাইট, 999 আউটপুট (সর্বনিম্ন)

for(;$z=9..0|?{"000$x"-notmatch-join"$x$_"[-3..-1]}|%{"$_"}){$x+=$z[0]}$x

ধ্রুবকগুলির জন্য স্বল্পতম ডি ব্রুইজন অভিযোজিত থেকে এটি সরলিকৃত অ্যালগরিদম তৈরি করা হয়েছে : বর্ণমালা = 9876543210এবং দৈর্ঘ্য =3

আউটপুট:

999899799699599499399299199098898798698598498398298198097897797697597497397297197096896796696596496396296196095895795695595495395295195094894794694594494394294194093893793693593493393293193092892792692592492392292192091891791691591491391291191090890790690590490390290190088878868858848838828818808778768758748738728718708678668658648638628618608578568558548538528518508478468458448438428418408378368358348338328318308278268258248238228218208178168158148138128118108078068058048038028018007776775774773772771770766765764763762761760756755754753752751750746745744743742741740736735734733732731730726725724723722721720716715714713712711710706705704703702701700666566466366266166065565465365265165064564464364264164063563463363263163062562462362262162061561461361261161060560460360260160055545535525515505445435425415405345335325315305245235225215205145135125115105045035025015004443442441440433432431430423422421420413412411410403402401400333233133032232132031231131030230130022212202112102012001110100

পরীক্ষার স্ক্রিপ্ট:

$f= {

#999..0|%{$s+=if(!($s-match$_)){"$_"}};$s

#999..9|%{$s+=("$_",($x="$_"[-1]))[2*($s-match$_)+($s+$x-match$_)]};$s-replace'1100','100'
#999..9|%{$s+=("$_",($x="$_"[-1]))[2*($s-match$_)+($s+$x-match$_)]};$s
#999..9|%{$s+=(,"$_")[$s-match$_]};$s-replace'(.)\1{3,}','$1$1$1'
#999..9|%{$s+=(,"$_")[$s-match$_]};$s-replace'(.)\1{3,}','$1$1$1'-replace'1100','0'
 for(;$z=9..0|?{"000$x"-notmatch-join"$x$_"[-3..-1]}|%{"$_"}){$x+=$z[0]}$x
#999..9|%{$s+=(,"$_")[$s-match$_]};$s

}

$s=&$f

$s
"Length:"
$s.Length
"count(###)!=1:"
$x=@{}
0..($s.Length-3)|%{$s.Substring($_,3)}|Group|%{
    $x[+$_.Name]=$_.Count
}
100..999|?{$x.$_-ne1}|%{,($_,+$x.$_)}|%{"$_"}
"count(##)!=10:"
$x=@{}
0..($s.Length-2)|%{$s.Substring($_,2)}|Group|%{
    $x[+$_.Name]=$_.Count
}
10..99|?{$x.$_-ne10}|%{,($_,+$x.$_)}|%{"$_"}
"count(#)!=100:"
$x=@{}
0..($s.Length-1)|%{$s.Substring($_,1)}|Group|%{
    $x[+$_.Name]=$_.Count
}
0..9|?{$x.$_-ne100}|%{,($_,+$x.$_)}|%{"$_"}
"All numbers:"
999-eq(1..999|?{$s-match$_}).Count

2

05AB1E , 9 বাইট এবং 1109 টি অক্ষর

₄FDNå_iNì

আউটপুট:

90990190089989088981980980880079979879078978878077977870970870770069969869769068968868768067967867767066966866760960860760660059959859759659058958858758658057957857757657056956856756656055955855755650950850750650550049949849749649549048948848748648548047947847747647547046946846746646546045945845745645545044944844744644540940840740640540440039939839739639539439038938838738638538438037937837737637537437036936836736636536436035935835735635535435034934834734634534434033933833733633533430930830730630530430330029929829729629529429329028928828728628528428328027927827727627527427327026926826726626526426326025925825725625525425325024924824724624524424324023923823723623523423323022922822722622522422320920820720620520420320220019919719619519419319219118918818718618518418318218017917817717617517417317217016916816716616516416316216015915815715615515415315215014914814714614514414314214013913813713613513413313213012912812712612512412312212011811711611511411311211110910810710610510410310210110099919089888079787770696867666059585756555049484746454440393837363534333029282726252423222018171615141312119876543210

এটি অনলাইনে চেষ্টা করে দেখুন বা এতে 1000 এর নীচে সমস্ত সংখ্যা রয়েছে যাচাই করুন

ব্যাখ্যা:

            # Push 1000
 F           # Loop N in the range [0,1000):
  D          #  Duplicate the top value on the stack
   Nå_i      #  If it does not contain N as substring yet:
       Nì    #   Prepend N to it
             # (Output implicitly after the loop)

1

পাইকে, 13 বাইট (নন-কেপটিং), স্ট্রিং দৈর্ঘ্য 1133

পাইকে চ্যালেঞ্জের চেয়ে নতুন এবং এটি অ-প্রতিযোগিতামূলক।

k~mV~oi{!o`*+

এখানে চেষ্টা করুন!

              - o = 0
k~mV          - repeat 1000 times, i = ""
    ~oi{      -     str(o) in i
        !     -    not ^
         o`*  -   str(o++) * ^
            + -  i += ^

আউটপুট কত দিন?
ক্রিটসি লিথোস

1

পিএইচপি, 48 44 বাইট

আমাকে স্মরণ করিয়ে দেওয়ার জন্য @ প্রিমোকে ধন্যবাদ ereg

for($i=1e3;--$i;ereg($i,$s)?:$s.=$i);echo$s;

অথবা

for($i=1e3;ereg(--$i,$s)?$i:$s.=$i;);echo$s;

আউটপুট: 1020 অক্ষর। পিএইচপি <7 প্রয়োজন

পিএইচপি 7, 48 বাইট:

ereg পিএইচপি 7 এ সরানো হয়েছে

for($i=1e3;--$i;strstr($s,"$i")?:$s.=$i);echo$s;

যদি strstr(বা strposএবং অন্যান্য স্ট্রিং অনুসন্ধানের ক্রিয়াকলাপ) -এর দ্বিতীয় তর্কটি স্ট্রিং না হয় তবে এটি আসকি কোড হিসাবে ব্যবহৃত হবে, সুতরাং $iস্ট্রিংয়ের জন্য একটি কাস্ট প্রয়োজন।


1
ereg($i,$s)4 এর জন্য (আমিও <?বাইট গণনায় অন্তর্ভুক্ত করব )।
primo

@ প্রিমো আমি সবেমাত্র লক্ষ্য করেছি যে এই চ্যালেঞ্জটি পিএইচপি 7-র চেয়ে পুরানো double. ডাবল ধন্যবাদ :)
তিতাস

eregসম্ভবত মুছে ফেলা হয়েছে, কারণ ফাংশনটির নাম খুব ছোট, এবং / অথবা পর্যাপ্ত আন্ডারস্কোর নেই। যে splitসরানো হয়েছে বিশেষত উজ্জ্বল হয়।
primo

eregসরানো হয়েছে কারণ পসিক্সে কেবল পিসিআরই সম্ভাবনার একটি উপসেট রয়েছে; এবং তারা সম্ভবত দুটি ভিন্ন গ্রন্থাগার বজায় রাখতে চান না। আমি জিজ্ঞাসা করব আমাকে আর কখনও রাসমাস লেয়ারডর্ফের সাথে দেখা করা উচিত। splitঅপসারণ করা হয়েছে, তবে joinরয়ে গেছে (সম্ভবত এটি "কেবলমাত্র একটি উপনাম)"। পেডেন্ট্রি জন্য দুঃখিত; তবে আমি এমন লোকদের জানি যারা বিড়ম্বনা চিনতে পারে না।
তিতাস

1

গ্রোভী, ৪৯ টি চর / বাইট

স্ট্রিং ভেরিয়েবল ফাংশন হিসাবে ফাংশন হিসাবে এটি করা বা ফলাফলটি মুদ্রণ করা হবে কিনা তা আমি নিশ্চিত ছিলাম না, তাই এটি স্টডআউটে প্রিন্ট করে। রেজেক্স ম্যাচার ব্যবহার করে 2 বাইট সংরক্ষণ করা হয়েছে, "যদি" এর পরিবর্তে টেনারি অপারেটর ব্যবহার করে অন্য বাইট সংরক্ষণ করা হয়েছে। আউটপুট স্ট্রিং 1133 অক্ষর।

a='';1000.times{a+=(a==~/.*$it.*/)?'':it};print a

আউটপুট:

01234567891011131415161718192021222425262728293032333536373839404344464748495054555758596065666869707677798087889099100102103104105106107108109110112114115116117118119120124125126127128129130132133134135136137138139140142143144145146147148149150152153154155156157158159160162163164165166167168169170172173174175176177178179180182183184185186187188189190193194195196197198199200203204205206207208209219220221223225226227228229230231235236237238239240243244245246247248249250253254255256257258259260263264265266267268269270273274275276277278279280283284285286287288289290294295296297298299300304305306307308309311329330332334336337338339340342346347348349350354355356357358359360364365366367368369370374375376377378379380384385386387388389390395396397398399400405406407408409422439440443445447448449450453457458459460465466467468469470475476477478479480485486487488489490496497498499500506507508509533549550554556558559560564568569570576577578579580586587588589590597598599600607608609644659660665667669670675679680687688689690698699700708709755769770776778780786790797799800809866877879880887888897898899900908932943954965976979987989

-1

গেম মেকার ল্যাঙ্গুয়েজ, 1014 - স্ট্রিং 1000

show_message(909910010110210310410510610710810911121131141151161171181191201221231241251261271281291301321331341351361371381391401421431441451461471481491501521531541551561571581591601621631641651661671681691701721731741751761771781791801821831841851861871881891901921931941951961971981992002022032042052062072082092223224225226227228229230233234235236237238239240243244245246247248249250253254255256257258259260263264265266267268269270273274275276277278279280283284285286287288289290293294295296297298299300303304305306307308309333433533633733833934034434534634734834935035435535635735835936036436536636736836937037437537637737837938038438538638738838939039439539639739839940040440540640740840944454464474484494504554564574584594604654664674684694704754764774784794804854864874884894904954964974984995005055065075085095556557558559560566567568569570576577578579580586587588589590596597598599600606607608609666766866967067767867968068768868969069769869970070770870977787797807887897907987998008088098889890899900)

এছাড়াও:

রুবি, 1003 - স্ট্রিং 1000

p'909910010110210310410510610710810911121131141151161171181191201221231241251261271281291301321331341351361371381391401421431441451461471481491501521531541551561571581591601621631641651661671681691701721731741751761771781791801821831841851861871881891901921931941951961971981992002022032042052062072082092223224225226227228229230233234235236237238239240243244245246247248249250253254255256257258259260263264265266267268269270273274275276277278279280283284285286287288289290293294295296297298299300303304305306307308309333433533633733833934034434534634734834935035435535635735835936036436536636736836937037437537637737837938038438538638738838939039439539639739839940040440540640740840944454464474484494504554564574584594604654664674684694704754764774784794804854864874884894904954964974984995005055065075085095556557558559560566567568569570576577578579580586587588589590596597598599600606607608609666766866967067767867968068768868969069769869970070770870977787797807887897907987998008088098889890899900'


3
1) আপনার প্রথম সমাধানটি "স্ট্রিংয়ের দৈর্ঘ্য 1500 অক্ষরের নীচে হওয়া আবশ্যক" লঙ্ঘন করে। 2) আমি আপনার আউটপুট 909 নম্বর খুঁজে পাচ্ছি না। ( প্রিমোর উত্তর থেকে কপি-পেস্ট করার সময় আপনি প্রথম সংখ্যাটি মিস করেছেন ?) 3) rubyকোডটি সংখ্যার প্যারামিটারটি পাস করার pপরিবর্তে ব্যবহার করতে পারে puts
manatwork
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.