আপনার নিজস্ব-ভাষা কোডটি চয়ন করুন


17

আসুন 16x16 মুদ্রণযোগ্য ASCII অক্ষর (কোড পয়েন্ট 0x20 থেকে 0x7E) এর গ্রিড নেওয়া যাক। উপরের বাম দিক থেকে নীচে ডান কোণে 30-বাছাই করা 15 টি পথ রয়েছে, নিম্নলিখিত উদাহরণের মতো কেবল অर्थোগোনাল চালগুলি:

##..............
.#..............
.######.........
......##........
.......##.......
........#.......
........#.......
........#.......
........###.....
..........###...
............#...
............####
...............#
...............#
...............#

এই জাতীয় প্রতিটি পাথ হুবহু 31 টি অক্ষর নিয়ে গঠিত। মনে রাখবেন যে এই অক্ষরের প্রত্যেকটি 31 টি বিরোধী ডায়াগোনালের থেকে আলাদা রয়েছে:

0123456789ABCDEF
123456789ABCDEFG
23456789ABCDEFGH
3456789ABCDEFGHI
456789ABCDEFGHIJ
56789ABCDEFGHIJK
6789ABCDEFGHIJKL
789ABCDEFGHIJKLM
89ABCDEFGHIJKLMN
9ABCDEFGHIJKLMNO
ABCDEFGHIJKLMNOP
BCDEFGHIJKLMNOPQ
CDEFGHIJKLMNOPQR
DEFGHIJKLMNOPQRS
EFGHIJKLMNOPQRST
FGHIJKLMNOPQRSTU

এটি গ্রিডের উদাহরণ নয়। এটি ৩১ টি অ্যান্টি-ডায়াগোনালের একটি দৃশ্য।

যদি কোনও অ্যান্টি-ডায়াগোনাল একই চরিত্রের দু'বার না থাকে তবে আমরা একটি গ্রিডটি তির্যকভাবে অনন্য বলব । যদি গ্রিডে এই সম্পত্তি থাকে তবে কোনও দুটি পাথে একই স্ট্রিং থাকবে না। (কেবল স্পষ্ট করে বলার জন্য, দৃশ্যটি নিজেই মূলত ত্রিভুজপূর্ণ অনন্যের বিপরীত ))

চ্যালেঞ্জ

একটি ত্রিভুজযুক্ত অনন্য 16x16 গ্রিড ডিজাইন করুন, যেমন যতগুলি সম্ভব পথগুলি বৈধ কোড যা সম্ভব Jabberwockyযতগুলি ভাষায় STDOUT (alচ্ছিক ট্রেলিং লাইন ব্রেক সহ) প্রিন্ট করে। প্রতিটি কোড হয় একটি পুরো প্রোগ্রাম, অথবা ফিরে বিবৃতি ছাড়া একটি parameterless ফাংশন শরীরের (এই আদেশ ভাষা নিরুৎসাহিত করতে না হতে পার প্রয়োজন কিছু boilerplate তৈরি function / class / নামস্থানে তাদের কোড আছে)।

দ্রষ্টব্য: সরলতার জন্য আপনি Ypnypn এর মতো অব্যবহৃত কক্ষের জন্য কিছু সংরক্ষিত অক্ষর ব্যবহার করতে পারেন ।

প্রতিটি বৈধ পাথের জন্য, দয়া করে একটি প্রোগ্রামিং ভাষায় এটি কার্যকর হয় তা স্পষ্ট করে জানান ।

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

টাই ক্ষেত্রে, গ্রিড কোষ যা হয় গণনা না কোন বৈধ পথ দ্বারা আচ্ছাদিত। কম অব্যবহৃত সেলগুলি জয়লাভ করে। যদি এখনও কোনও টাই থাকে তবে আমি সর্বাধিক (নেট) ভোট দিয়ে উত্তরটি গ্রহণ করব।

বৈধতা স্ক্রিপ্ট

আমি খুব শীঘ্রই একটি সামান্য সিজেএম স্নিপেট একসাথে রেখেছি যা আপনি গ্রিডটি তির্যক অনন্য বলে যাচাই করতে ব্যবহার করতে পারেন।

  1. অনলাইন সিজেএম ইন্টারপ্রেটারে যান ।
  2. নিম্নলিখিত কোডটি আটকান

    l:A;
    qN/W%A16**33/z{A-__|=}%:*"D""Not d"?"iagonally unique"
    
  3. ইনপুট ক্ষেত্রে, আপনি প্রথম লাইনে সংরক্ষিত অক্ষর রাখুন (আপনি যদি কোনও সংরক্ষিত চরিত্রের মামলা না করেন তবে অব্যবহৃত অক্ষর ব্যবহার করুন) এবং তারপরে আপনার গ্রিডটি ২ থেকে ১ line লাইনে রয়েছে Eg উদাহরণস্বরূপ, ওয়াইপাইপনের উত্তরের জন্য:

    ~
     pr~~~~~~~~~~~~~
     tin~~~~~~~~~~~~
    ~ypt(~~~~~~~~~~~
    ~~ef(~~~~~~~~~~~
    ~~  "J~~~~~~~~~~
    ~~~~~ab~~~~~~~~~
    ~~~~~~be~~~~~~~~
    ~~~~~~~rwo~~~~~~
    ~~~~~~~~~ck~~~~~
    ~~~~~~~~~~y~~~~~
    ~~~~~~~~~~\n~~~~
    ~~~~~~~~~~~")) ~
    ~~~~~~~~~~~  ;  
    ~~~~~~~~~~~~~~~ 
    ~~~~~~~~~~~~~~~ 
    ~~~~~~~~~~~~~~~ 
    
  4. চালান।

আপনি যদি মনে করেন এটিতে একটি বাগ আছে তবে আমাকে জানান।


6
'টোভাস ব্রিলিগ, এবং স্লিট টোভেস গাইরে এবং দৌড়াদৌড়ি করেছিল ওয়াবে ... (হ্যাঁ, আমি এটি মুখস্থ করেছি);)
ডোরকনব

এটি ক্যালভিনের শখের একটি প্রশ্নের মতো শোনাচ্ছে, যা একটি দুর্দান্ত অর্জন। এটি এখনও কীভাবে হয়েছে তা আমি এখনও বুঝতে পারি না।
সোহম চৌধুরী

উত্তর:


21

30 33 35 টি ভাষা

সংরক্ষিত চরিত্র: ~

 println!~~~~~~~
 puts    (1,~~~~
    echo   '~~~~
"cWprintfn"Ja~~~
Eork~~~;'Jabbe~~
\ui)K00~~~~~br~~
]tteL~0~~~~~ew~~
]<~ln(0~~~~~ro~~
`<~~~ 0~~~~~wc~~
m"~~~ "~~~~~ok~~
rJ~~~'J~~~~~cy~~
j"<< "a~~~~~k'..
^~~~~~bberwoy");
f~~~~~~~~~~c'  ;
t~~~~~~~~~~ky"  
XX"););  5f+'); 

ভাষাসমূহ:

01. Rust        | println! (  "Jabberwocky") ;  |
02. Groovy      | println     "Jabberwocky"     |
03. E           | println  (  "Jabberwocky")    |
04. Swift       | println  (  "Jabberwocky") ;  |
05. Julia       | println  (  "Jabberwocky");;  |
06. Processing  | println  (  "Jabberwocky")  ; |
07. Falcon      | printl   (  "Jabberwocky")    |
08. ALGOL 68    | print    (  "Jabberwocky")    |
09. Vala        | print    (  "Jabberwocky") ;  |
10. Pawn        | print    (  "Jabberwocky");;  |
11. Batsh       | print    (  "Jabberwocky")  ; |
12. freeBASIC   | print       "Jabberwocky"     |
13. Rebol       | print       "Jabberwocky"  ;  |
14. Red         | print       "Jabberwocky"   ; |
15. AWK         | print       'Jabberwocky'     |
16. Perl        | print       'Jabberwocky'  ;  |
17. bc          | print       'Jabberwocky'   ; |
18. Euphoria    |  puts    (1,"Jabberwocky")    |
19. C           |  puts    (  "Jabberwocky") ;  |
20. Tcl         |  puts       "Jabberwocky"     |
21. Ruby        |  puts       'Jabberwocky'     |
22. Zsh         |      echo   "Jabberwocky"     |
23. Bash        |      echo   "Jabberwocky"  ;  |
24. tcsh        |      echo   "Jabberwocky"   ; |
25. PHP         |      echo   'Jabberwocky'     |
26. Fish        |      echo   'Jabberwocky'  ;  |
27. Dash        |      echo   'Jabberwocky'   ; |
28. F#          |      printfn"Jabberwocky"   ; |
29. C++         |    cout<<"J"<< "abberwocky" ; |
30. D           |     Writeln(  'Jabberwocky'); |
31. Pascal      |     WriteLn(  'Jabberwocky'); |
32. Delphi      |     Writeln(  "Jabberwocky"); |
33. GolfScript  |      print;'Jabberwocky'..;;  |
34. CJam        |   "E\]]`mrj^ftXX"););  5f+'); |
35. Pyth        |      pk)K00000"Jabberwocky"   |

(পাইথ এবং সিজেম ব্যবহারকারী 23013 এর জন্য ধন্যবাদ)


আসলে, হ্যাসেল কোডটি উদ্ধৃতি চিহ্ন সহ স্ট্রিংটি মুদ্রণ করে। এগুলি ছাড়া এটি মুদ্রণের জন্য আপনার প্রয়োজন হবে putStr[ln]...। এছাড়াও, হাস্কেল নেই ;;। আমি বিশ্বাস করি আপনি এটি ওকামেলের সাথে মিশ্রিত করেছেন।
অভিমানী হাসেল্লার

এমনকি ওকামেলেরও তা নেই। (আমি রাখলে অনলাইন অনুবাদক ত্রুটি দেয় ;;)। যাইহোক, হাস্কেলকে অন্য কিছু দিয়ে প্রতিস্থাপন করুন।
অপ্টিমাইজার

পাইথটি যুক্ত করা সহজ হবে - | p b"Jabberwocky" |উদাহরণস্বরূপ
16

ধন্যবাদ! আমি পাইথও দেখতে যাচ্ছিলাম। এটি আমার সময় বাঁচায় :)
অপ্টিমাইজার

@ আইস্যাক বিটিডাব্লু, এরকম পথ কোথায়?
অপ্টিমাইজার

15

17 টি ভাষা

.সংরক্ষিত চরিত্র হিসাবে গ্রিডটি এখানে রয়েছে :

 prin...........
 utstln!........
       (1,......
<?echo    ".....
.........'Jab...
............b...
............e...
............r...
............w...
............o...
............c...
............k...
............y"..
............' ).
.............  ;
..............  

এবং এখানে ভাষা এবং তাদের পাথ (উল্লম্ব বারগুলি উপেক্ষা করুন):

01. Rust        | println!(   "Jabberwocky" ) ; |
02. Swift       | println (   "Jabberwocky" ) ; |
03. Scala       | println (   "Jabberwocky" )   |
04. Falcon      | printl  (   "Jabberwocky" )   |
05. Vala        | print   (   "Jabberwocky" ) ; |
06. Lua         | print   (   'Jabberwocky' ) ; |
07. ALGOL 68    | print   (   "Jabberwocky" )   |
08. Dart        | print   (   'Jabberwocky' )   |
09. Rebol       | print       "Jabberwocky"   ; |
10. Perl        | print       'Jabberwocky'   ; |
11. AWK         | print       "Jabberwocky"     |
12. Euphoria    | puts    (1, "Jabberwocky" )   |
13. C           | puts    (   "Jabberwocky" ) ; |
14. Tcl         | puts        "Jabberwocky"     |
15. Ruby        | puts        'Jabberwocky'     |
16. Bash        |     echo    "Jabberwocky"     |
17. PHP         |     echo    "Jabberwocky"   ; |

আমি তাদের সবকটি পরীক্ষা করতে সক্ষম হইনি, সুতরাং কিছু কাজ না করে থাকলে আমাকে জানান।


আমি মনে করি আপনি একাধিক ভাষার জন্য একই পথ ব্যবহার করতে পারবেন না এবং এটি আপনার স্কোরটিতে যুক্ত করতে পারবেন না।
অপটিমাইজার

1
@ অপ্টিমাইজার আমি মনে করি না যে কোনও রাস্তা দু'বার ব্যবহৃত হয়েছে। স্বীকার করা, পার্থক্যগুলি খুব ছোট।
grc

1
ওহ, আপনি লুক্কায়িত লোক! : পি
অপ্টিমাইজার

পিএইচপি-র জন্য, বয়লারপ্লেট অপসারণের পরে, `প্রতিধ্বনি" ফুবার "each (প্রতিবার 1 টিরও বেশি স্পেস) প্রিন্ট করুন ঠিক। কোনও সাদা জায়গা ছাড়াই। এখানে এটি চেষ্টা করে দেখুন
অপ্টিমাইজার

2
কোড থেকে বয়লারপ্লেট অপসারণ করা ঠিক আছে, যা <?এখানে রয়েছে
অপ্টিমাইজার

3

18 টি ভাষা এবং আরও অনেক কিছু

সংরক্ষিত অক্ষর: ~

         "~~~~~~
12345678 "~~~~~~
12345678 "~~~~~~
12345678 "~~~~~~
1234567: ea~~~~~
1234567: c;~~~~~
1234567: hL~~~~~
1234567: o'~~~~~
1234567:  Jab~~~
1234567:?""""~~~
~~~~~~~~~Jabberw
~~~~~~~~~~~~~~~o
~~~~~~~~~~~~~~~c
~~~~~~~~~~~~~~~k
~~~~~~~~~~~~~~~y
~~~~~~~~~~~~~~~"

ভাষাসমূহ:

CJam                             |             ea;L'J"abberwocky"|
GolfScript                       |              cho "Jabberwocky"|
Bc                               |                  "Jabberwocky"|
Bash                             |         """"echo J"abberwocky"|
Zsh                              |           ""echo J"abberwocky"|
Fish                             |             echo J"abberwocky"|
Tcsh                             |         """"echo Ja"bberwocky"|
Dash                             |           ""echo Ja"bberwocky"|
Ksh                              |             echo Ja"bberwocky"|
Mksh                             |         """"echo Jab"berwocky"|
Yash                             |           ""echo Jab"berwocky"|
Sash                             |             echo Jab"berwocky"|
Posh                             |         """"echo "Jabberwocky"|
Csh                              |           ""echo "Jabberwocky"|
PHP                              |             echo "Jabberwocky"|

এবং...

FreeBasic                        |                 ?"Jabberwocky"|
QBasic                           | 12345678        ?"Jabberwocky"|
QB64                             | 123456788       ?"Jabberwocky"|

আরও অনেক বেসিক উপভাষাগুলি কাজ করা উচিত। তবে এখনও সবগুলি পরীক্ষার জন্য আমার কাছে সময় নেই।


মনে রাখবেন আপনি 1 টিরও বেশি ভাষার জন্য একই পথ ব্যবহার করতে পারবেন না। তাই বলে সব বেসিক উপভাষায় মাপসই করা হবে।
অপ্টিমাইজার

2
@ অপ্টিমাইজার কমপক্ষে সেই উপভাষাগুলির লাইন নম্বর রয়েছে এবং ওভারফ্লো চেক করে না (এবং এর ?জন্য রয়েছে print) কাজ করা উচিত ... কেবল একটি আলাদা লাইন নম্বর নির্বাচন করুন।
jimmy23013
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.