অন্তর্বর্তী স্বরলিপি


21

চ্যালেঞ্জ:

ইনপুট:

দুটি পূর্ণসংখ্যা পরামিতি aএবং b(যেখানে a<bএবং পার্থক্য কমপক্ষে 2)

আউটপুট:

এই পাঠ্যটি আউটপুট করুন বা ফিরিয়ে দিন, কোথায় aএবং bভরাট রয়েছে:

(a,b) = ]a,b[ = {a<x<b}   = {a<x&&x<b}   = a+1..b-1
[a,b) = [a,b[ = {a<=x<b}  = {a<=x&&x<b}  = a..b-1
(a,b] = ]a,b] = {a<x<=b}  = {a<x&&x<=b}  = a+1..b
[a,b] = [a,b] = {a<=x<=b} = {a<=x&&x<=b} = a..b

চ্যালেঞ্জ বিধি:

  • I / O নমনীয়। STDOUT এ মুদ্রণ করা যায়, স্ট্রিং / চরিত্র-অ্যারে হিসাবে ফিরে পাওয়া যায়, ইত্যাদি হিসাবে দুটি পূর্ণসংখ্যা, দশমিক, স্ট্রিং হিসাবে আউটপুট করা যেতে পারে (কেন আপনি যেহেতু গণনা করতে হবে তা নিশ্চিত নয় a+1এবং b-1তবে আমার অতিথি হোন ..)) ইত্যাদি etc.
  • নেতৃস্থানীয় এবং / অথবা নতুন লাইনগুলি অনুসরণ করার পরিমাণের অনুমতি রয়েছে এবং প্রতিটি লাইনের জন্য কোনও পরিমাণ ট্রেলিং এবং / বা নেতৃস্থানীয় স্পেস অনুমোদিত।
  • সমান চিহ্নগুলিতে ফাঁকা স্থানগুলি (একই কলামে তাদের প্রান্তিককরণ সহ) বাধ্যতামূলক, অন্যান্য অক্ষরের মধ্যে ফাঁকা স্থান অনুমোদিত নয়।
  • a+1এবং b-1এই গণনার পরে সঠিক মানগুলির সাথে প্রতিস্থাপিত হয়।
  • এর ≤পরিবর্তে আপনার ব্যবহারের অনুমতি নেই <=।
  • এর &পরিবর্তে আপনার ব্যবহারের অনুমতি নেই &&।
  • আপনাকে সংখ্যার আউটপুট দেওয়ার অনুমতি দেওয়া হবে .0(যতক্ষণ না এটি সুসংগত হয় এবং এক দশমিক শূন্যের বেশি নয়)।
  • আপনি ধরে নিতে পারেন aতুলনায় কমপক্ষে 2 কম b( (a,b)সঠিক হওয়ার জন্য)।
  • লাইনগুলি প্রদর্শিত ক্রমের মধ্যে আউটপুট হওয়া উচিত।

উদাহরণ:

ইনপুট: a=-5, b=10
আউটপুট:

(-5,10) = ]-5,10[ = {-5<x<10}   = {-5<x&&x<10}   = -4..9
[-5,10) = [-5,10[ = {-5<=x<10}  = {-5<=x&&x<10}  = -5..9
(-5,10] = ]-5,10] = {-5<x<=10}  = {-5<x&&x<=10}  = -4..10
[-5,10] = [-5,10] = {-5<=x<=10} = {-5<=x&&x<=10} = -5..10

সাধারাইওন রুল:

  • এটি , তাই বাইট জেতে সংক্ষিপ্ত উত্তর।
    কোড-গল্ফ ভাষাগুলি আপনাকে নন-কোডগলফিং ভাষার সাথে উত্তর পোস্ট করতে নিরুৎসাহিত করবেন না। 'যে কোনও' প্রোগ্রামিং ভাষার পক্ষে যতটা সম্ভব সংক্ষিপ্ত উত্তর নিয়ে আসার চেষ্টা করুন।
  • স্ট্যান্ডার্ড নিয়মগুলি আপনার উত্তরের জন্য প্রযোজ্য , সুতরাং আপনাকে সঠিক পরামিতি এবং রিটার্ন-টাইপ, সম্পূর্ণ প্রোগ্রাম সহ STDIN / STDOUT, ফাংশন / পদ্ধতি ব্যবহারের অনুমতি দেওয়া হবে। আপনার কল
  • ডিফল্ট লুফোলগুলি নিষিদ্ধ।
  • যদি সম্ভব হয় তবে আপনার কোডের জন্য একটি পরীক্ষার সাথে একটি লিঙ্ক যুক্ত করুন।
  • এছাড়াও, প্রয়োজনে একটি ব্যাখ্যা যোগ করুন।

পিএস: যারা এই চ্যালেঞ্জটি স্যান্ডবক্সে দেখেছিলেন যখন এখনও চ্যালেঞ্জ ছিল aএবং bহার্ড-কোডেড ছিল, আমি বিরক্তিকর হার্ড-কোডেড এবং এনকোডযুক্ত উত্তরগুলি রোধ করার জন্য একটি ইনপুট চ্যালেঞ্জে পরিবর্তন করেছি যেমন আমরা সাধারণত দেখি কেসি চ্যালেঞ্জ।


2
তাই জন্য a=5, b=6এখনও আউটপুট (5,6) = ... = 6...5?
— l4m2

1
@ l4m2 আহ .. সে সম্পর্কে ভাবেনি। আপনি ধরে নিতে পারেন aএবং bসর্বদা কমপক্ষে 2 টি আলাদা থাকবেন। আমি চ্যালেঞ্জ সম্পাদনা করব।
— কেভিন ক্রুইজসেন

2
আমার প্রত্যাশার চেয়ে এটি অনেক বেশি মজাদার ছিল। দুর্দান্ত চ্যালেঞ্জ!
— আর্নৌল্ড

@ ডিজিটালট্রামা দুঃখিত, তবে এই সঠিক আদেশ।
— কেভিন ক্রুইজসেন

উত্তর:


2

স্ট্যাক্স , 74 বাইট

ÉyU≤₧pΔz▀σ┬`♪•a≤☻Σ╕←k►¬╗Ö)ßâL╫§▐ƒ┼°╚íS3:Y¶7]7♂e╖à╙ô≥;M0h8♦Oún┼ë`←B╠╫║┌♂α▲╚

এটি চালান এবং এটি ডিবাগ করুন

এটি স্ট্যাকসের স্ট্রিং টেম্পলেটগুলি প্রচুর পরিমাণে ব্যবহার করে। আনপ্যাকড, নিরবচ্ছিন্ন এবং মন্তব্য করা হয়েছে, এটি দেখতে এটির মতো দেখাচ্ছে।

Y                   save second input in Y register (first is already in X)
.)].([|*            cross product of ")]" and "(["; this produces [")(", ")[", "](", "]["]
{                   begin block to map over interval delimiters
  E"`x,`y"a++       push delimiters separately, then wrap them around the inputs    e.g. "(-5,10)"
  c"(])["|t         copy last value, then replace parentheses with braces           e.g. "]-5,10["
  ih'=              push half the iteration index and "="                           e.g. 0 "="
  |;'=              push iteration parity (alternating 0 and 1) and "="             e.g. 0 "=" 0 "="
  "{`x<`*x<`*`y}"   multiply each equal sign by its occurrence, and template        e.g. "{-5<x<10}"
  c'x.x&:mR         copy last value, then replace "x" with "x&&x"                   e.g. "{-5<x&&x<10}"
  yvih xi|e         calculate final bounds offsets                                  e.g. -5 1 10 -1
  "`+..`+"          add inputs to offsets, and embed in template                    e.g. "-4..9"
  5l                combine last 5 values into array
m                   map [")(", ")[", "](", "]["] using block
:<                  left-align grid colums to add extra spaces
m" = "*             for each row, join with " = " and output

এটি চালান


10

জাভাস্ক্রিপ্ট (ES6), 184 182 181 180 বাইট

বাক্য গঠন সিনট্যাক্সে ইনপুট নেয় (a)(b)। 4 টি স্ট্রিংয়ের অ্যারে প্রদান করে।

a=>b=>[1,2,3,4].map(k=>'31,23 = 31,23 = {10x72}4{10x&&x72}45..6'.replace(/\d/g,(n,i)=>[(+n?k<3:k&1)?'<':'<=',a,b,'][)([[]('[(i*17^k*718)%9],'   = '.slice(k/2),a+k%2,b-(k<3)][n%7]))

এটি অনলাইন চেষ্টা করুন!

কিভাবে?

1 ≤ k ≤ 4 দিয়ে প্রতিটি সারি কে এর জন্য , আমরা নিম্নলিখিত টেমপ্লেট দিয়ে শুরু করি:

"31,23 = 31,23 = {10x72}4{10x&&x72}45..6"

এবং প্রতিটি দশমিক অঙ্কের এনটি নীচের টেবিল অনুসারে i পজিশনে প্রতিস্থাপন করুন :

  n  | Replaced with           | Code
-----+-------------------------+------------------------------------------
 0,7 | comparison operator     | (+n ? k < 3 : k & 1) ? '<' : '<='
  1  | a                       | a
  2  | b                       | b
  3  | interval bound          | '][)([[]('[(i * 17 ^ k * 718) % 9]
  4  | a substring of '   = '  | '   = '.slice(k / 2)
  5  | either 'a' or 'a + 1'   | a + k % 2
  6  | either 'b' or 'b - 1'   | b - (k < 3)



3

জাভা (জেডিকে 10) , 251 বাইট

a->b->("(a,b)q]a,b[q{a<x<b}  q{a<x&&x<b}  q"+-~a+".."+~-b+"\n[a,b)q[a,b[q{a<=x<b} q{a<=x&&x<b} qa.."+~-b+"\n(a,b]q]a,b]q{a<x<=b} q{a<x&&x<=b} q"+-~a+"..b\n[a,b]q[a,b]q{a<=x<=b}q{a<=x&&x<=b}qa..b").replace("a",a+"").replace("b",b+"").replace("q"," = ")

এটি অনলাইন চেষ্টা করুন!

ক্রেডিট


আমি এখনও গল্ফ করছি ...
— অলিভিয়ার গ্রাগোয়ার

প্রায় গল্ফিং দিয়ে শেষ? আমি 85 বাইট অপসারণ করার জন্য একটি পরামর্শ পেয়েছি। ;)
— কেভিন ক্রুইজসেন

@ কেভিন ক্রুইজসেন আমি সম্পন্ন করেছি কিন্তু আমি 85 বাইটের চেয়ে অনেক কম সরিয়ে দিয়েছি ...
— অলিভিয়ার গ্রাগোয়ার

1
তিন বোরিং সহ 251 বাইট.replace ।
— কেভিন ক্রুইজসেন

হ্যাঁ, মূলত আমার প্রথম সমাধানটি ফর্ম্যাটের পরিবর্তে প্রকৃতপক্ষে প্রতিস্থাপন ব্যবহার করে। খুশী হলাম। বিরক্তিকর, কিন্তু দুর্দান্ত! :-)
— অলিভিয়ার গ্রাগোয়ার

3

পার্ল 5 , 181 বাইট

আমি ভেবেছিলাম এটি খুব কম কাজ করে ...

$_="sd,ds = sd,ds = {dsxsd}s= {dsx&&xsd}s= d..d
"x4;s!s!("()][<<   [)[[<=<  (]]]<<=  [][]<=<= "=~s/[<= ]+/$&$&/gr=~/ +|<=|./g)[$-++]!ge;s/d/$F[$x%2]+{8,1,9,-1,19,-1,28,1}->{$x++}/ge

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

মূলত এই একটি ব্যবহার ছিল printfফরম্যাট স্ট্রিং, কিন্তু থাকার sএবং dযখন সঙ্গে মিলিত খাটো ছিল s///।

প্রথমে বিন্যাসের স্ট্রিংটি $_চার্জযুক্ত এবং চতুর্ভুজ করা হয়, তারপরে সমস্ত sগুলি প্রতিস্থাপন সূচীর উপর নির্ভর করে সংশ্লিষ্ট ব্র্যাকেট <, <=বা স্পেস দিয়ে প্রতিস্থাপন করা হয়। আমি প্রতিটি ব্লকের সর্বশেষ 5 টি অক্ষরের অনুলিপি সহ আরও কিছু বাইট সংরক্ষণ করার আশাবাদী, তবে এটি কেবল 2 বাইট সংরক্ষণের মধ্যেই শেষ হয়েছিল। ফলস্বরূপ স্ট্রিং স্পেস <=বা একক অক্ষরের উপাদানগুলিতে বিভক্ত হয় ।

সবশেষে dহ্যাশ কী দ্বারা বর্তমান প্রতিস্থাপনের সূচকের উপর ভিত্তি করে সামঞ্জস্য করা পছন্দসই নম্বর দিয়ে সমস্ত গুলি প্রতিস্থাপিত হয়।



3

এম 4 , 194

ম্যাক্রো প্রসেসরের চাকরির মতো মনে হচ্ছে। নিশ্চিত নয় যে এম 4 প্রোগ্রামিং ভাষার জন্য আমাদের মানগুলি পূরণ করে। এটির লুপিং ক্ষমতা এবং পাটিগণিতের বিবর্তন রয়েছে, তাই আমি এটির চিহ্নটির কাছাকাছি ধরে নিই।

define(l,`$1a,b$2 = $3a,b$4 = {a<$5x<$6b} $8= {a<$5x&&x<$6b} $8= $7')dnl
l(`(',`)',],[,,,incr(a)..decr(b),`  ')
l([,`)',[,[,=,,a..decr(b),` ')
l(`(',],],],,=,incr(a)..b,` ')
l([,],[,],=,=,a..b,)

এটি এম 4-তে আমার প্রথম তুচ্ছ দৃষ্টিভঙ্গি, সুতরাং আমি সন্দেহ করি যে আরও বেশি গল্ফ করার সুযোগগুলি আমি হাতছাড়া করেছি।

-Dকমান্ড লাইনে ম্যাক্রো সংজ্ঞা ব্যবহার করে ইনপুটগুলি পাস করা হয় । এগুলির জন্য স্কোরটিতে কিছু যুক্ত করার দরকার আছে কিনা তা নিশ্চিত নই, যতদূর আমি বলতে পারি এটি অর্থপূর্ণভাবে পরামিতিগুলি পাস করার একমাত্র উপায়:

$ m4 -Da=-5 -Db=10 intnot.m4
(-5,10) = ]-5,10[ = {-5<x<10}   = {-5<x&&x<10}   = -4..9
[-5,10) = [-5,10[ = {-5<=x<10}  = {-5<=x&&x<10}  = -5..9
(-5,10] = ]-5,10] = {-5<x<=10}  = {-5<x&&x<=10}  = -4..10
[-5,10] = [-5,10] = {-5<=x<=10} = {-5<=x&&x<=10} = -5..10 $

এটি অনলাইনে চেষ্টা করুন ।


টিআইওতে এম 4 যোগ করার জন্য @ ডেনিসকে ধন্যবাদ !


1
আমি দেখতে পাচ্ছি না কেন এম 4 উত্তর দেওয়ার জন্য একটি বৈধ প্রোগ্রামিং ভাষা হবে না, তবে আমি কী জানি। ;) -Dযুক্তি হিসাবে এটি সম্পূর্ণ জরিমানা। আমার চ্যালেঞ্জের বিবরণে আমি বলেছি যে আমি / ও সম্পূর্ণ নমনীয়, সুতরাং আপনি এসডিডিএন, ফাংশন প্যারামিটার, প্রোগ্রাম কমান্ড-লাইন আর্গুমেন্ট, সংকলক-পতাকাগুলি, একটি ফাইল পড়া বা অন্য যে কোনও ইনপুট-পদ্ধতি হিসাবে ভাবতে পারেন তা সম্পূর্ণরূপে আপনার উপর
— কেভিন ক্রুইজসেন 15

2

পাইথন 2 , 277 199 193 189 বাইট

a,b=input()
for i in 4,3,2,1:x,y=i%2,i>2;e='=';p=`a`+','+`b`;print'(['[x]+p+'])'[y],e,']['[x]+p+']['[y],e,2*('{%d<%s<%s%d} %s= '%(a,e*x+'%sx',e[y:],b,i/2*' '))%('','x&&')+`a+1-x`+'..'+`b-y`

এটি অনলাইন চেষ্টা করুন!


2*('{%d<%s<%s%d} %s= '%(a,e*x+'%sx',e[y:],b,i/2*' '))%('','x&&')-> 2*('{%d<%s%%sx<%s%d} %s= '%(a,e*x,e[y:],b,i/2*' '))%('','x&&')দুটি সংরক্ষণ করে :)
— জোনাথন অ্যালান

1

এক্সেল, 399 বাইট

="("&A1&","&B1&") = ]"&A1&","&B1&"[ = {"&A1&"<x<"&B1&"}   = {"&A1&"<x&&x<"&B1&"}   = "&A1+1&".."&B1-1&"
 ["&A1&","&B1&") = ["&A1&","&B1&"[ = {"&A1&"<=x<"&B1&"}  = {"&A1&"<=x&&x<"&B1&"}  = "&A1&".."&B1-1&"
 ("&A1&","&B1&"] = ]"&A1&","&B1&"] = {"&A1&"<x<="&B1&"}  = {"&A1&"<x&&x<="&B1&"}  = "&A1+1&".."&B1&"
 ["&A1&","&B1&"] = ["&A1&","&B1&"] = {"&A1&"<=x<="&B1&"} = {"&A1&"<=x&&x<="&B1&"} = "&A1&".."&B1

এখানে বিশেষভাবে আকর্ষণীয় কিছু নেই।


1

সি (জিসিসি) , 224 237 বাইট

f(a,b,c,m,n,o){for(c=0;++c<5;printf("%c%d,%d%c = %c%d,%d%c = {%d<%sx<%s%d}%*s= {%d<%sx&&x<%s%d}%*s= %d..%d\n","[("[m],a,b,"])"[n],"[]"[m],a,b,"]["[n],a,"="+m,"="+n,b,o,"",a,"="+m,"="+n,b,o,"",a+m,b-n)){m=c%2;n=c<3;o=3-c/2;}}

এটি অনলাইন চেষ্টা করুন!

"<[=]" ফর্ম্যাট স্ট্রিংয়ে সরানো আমাকে পুরোপুরি অ্যারে সরানোর অনুমতি দেয়। এছাড়াও, চলন্ত printf()মধ্যে forলুপ একটি সেমিকোলন সংরক্ষিত হয়েছে।

আসল উত্তর

f(a,b,c,m,n,o){char*e[]={"<=","<"};for(c=0;++c<5;){m=c%2;n=c<3;o=3-c/2;printf("%c%d,%d%c = %c%d,%d%c = {%d%sx%s%d}%*s= {%d%sx&&x%s%d}%*s= %d..%d\n","[("[m],a,b,"])"[n],"[]"[m],a,b,"]["[n],a,e[m],e[n],b,o,"",a,e[m],e[n],b,o,"",a+m,b-n);}}

এটি অনলাইন চেষ্টা করুন!

এখানে বিশেষভাবে লক্ষণীয় কিছু নেই: আমি ফাংশনটির আকার শেভ করার জন্য সাধারণ কৌশলগুলি ব্যবহার করেছি ( intফাংশন শিরোনামে অটোগুলি উত্তোলন , কে ও আর স্টাইল ব্যবহার করে স্ট্রিং ধ্রুবকগুলিতে সূচীকরণ করে)) {"<=", "<"} একটি মধ্যে সংরক্ষণ করে অ্যারে এই চ্যালেঞ্জটির জন্য একটি ফর্ম্যাট নির্দিষ্টকারক সন্নিবেশ করানোর চেয়ে আরও আকার-দক্ষ প্রমাণিত হয়েছে কারণ এটি একাধিকবার ব্যবহৃত হয়েছিল was



1

জাভাস্ক্রিপ্ট, 273 258 232 বাইট

আমাকে 15 বাইট বাঁচানোর জন্য কেভিন ক্রুইজসেন ধন্যবাদ!

e=>f=>'(j)h]j[h{a<x<b}  h{a<x&&x<b}  hc..d\n[j)h[j[h{a<=x<b} h{a<=x&&x<b} ha..d\n(j]h]j]h{a<x<=b} h{a<x&&x<=b} hc..b\n[j]h[j]h{a<=x<=b}h{a<=x&&x<=b}ha..b'.replace(/a|b|c|d|h|j/g,m=>{return{a:e,b:f,c:e+1,d:f-1,h:" = ",j:e+","+f}[m]})

এটি অনলাইনে চেষ্টা করুন

আমাকে এই ধারণাটি দেওয়ার জন্য টিফেল্ডের জন্য ধন্যবাদ, আমার আসল উত্তর থেকে প্রায় 60 বাইট সংরক্ষণ করুন।

অসমাপ্ত:

e => f => '(j)h]j[h{a<x<b}  h{a<x&&x<b}  hc..d'
 + '\n[j)h[j[h{a<=x<b} h{a<=x&&x<b} ha..d'
 + '\n(j]h]j]h{a<x<=b} h{a<x&&x<=b} hc..b'
 + '\n[j]h[j]h{a<=x<=b}h{a<=x&&x<=b}ha..b'
.replace(/a|b|c|d|h|j/g, m=>{
        return {a:e,b:f,c:e+1,d:f-1,h:" = ",j:e+","+f}[m]
    }
)

জাভাস্ক্রিপ্ট (মূল উত্তর), 340 বাইট

(a,b)=>alert(`(${a},${b}) = ]${a},${b}[ = {${a}<x<${b}}   = {${a}<x&&x<${b}}   = ${a+1}..${b-1}\n[${a},${b}) = [${a},${b}[ = {${a}<=x<${b}}  = {${a}<=x&&x<${b}}  = ${a}..${b-1}\n(${a},${b}] = ]${a},${b}] = {${a}<x<=${b}}  = {${a}<x&&x<=${b}}  = ${a+1}..${b}\n[${a},${b}] = [${a},${b}] = {${a}<=x<=${b}} = {${a}<=x&&x<=${b}} = ${a}..${b}\n`)

1
নতুন লাইনটি সেখানে {a<=x&&\nx<=b}থাকা উচিত নয় এবং আপনি প্রথমটি মিস করছেন (a,b) = । কিছু গল্ফিংয়ের ক্ষেত্রে: সতর্কতার পরিবর্তে আপনি কেবল ফলাফলটি ফিরে আসতে পারেন। (m)=>হতে পারে m=>। (e,f)=>হতে পারে e=>f=>। আর আপনি ব্যবহার করতে পারেন gপরিবর্তে তৈরি করার সরাসরি let g=: m=>{return{a:e,b:f,c:e+1,d:f-1}[m]}। এটি অনলাইনে 258 বাইট ব্যবহার করে দেখুন । এবং সম্ভবত আরও গল্ফ করা যেতে পারে, আমি জেএসে খুব দক্ষ নই ..
— কেভিন ক্রুইজসেন

আচ্ছা আপনি আমার চেয়েও বেশি দক্ষ দেখছেন। টিপসের জন্য ধন্যবাদ, আমি তাদের উত্তরে যুক্ত করব
— এলোমেলো লোক

ঠিক আছে, আমি বেশিরভাগই জাভা (বা হোয়াইটস্পেস) এ গল্ফ করি এবং এই গল্ফিং টিপস জাভা উত্তরগুলিতে প্রয়োগ হয়, যার কারণেই আমি তাদের জানি: (m)->থেকে m->; (e,f)->থেকে e->f->, এবং var g=new int[]{...}return g[m]করতে return new int[]{...}[m]। ;) এছাড়াও, আমি এখন কয়েক বছর ধরে এই এসওতে সক্রিয় ছিলাম, তাই আমি জেএস উত্তরগুলি আগেও এই ধরণের জিনিস ব্যবহার করতে দেখেছি।
— কেভিন ক্রুইজসেন

1

রেটিনা , 216 বাইট

.+
$&()][<<  ¶$&[)[[<=< ¶$&(]]]<<= ¶$&[][]<=<=
((.*),(.*))(.)(.)(.)(.)(<=?)(<=?)( *)
$4$1$5 = $6$1$7 = {$2$8x$9$3}$10 = {$2$8x&&x$9$3}$10 = $2_$8..$3_$9
_<=

\d+_
$&*___
T`<`_` _+<|\.-_+<
___<
_
__<
-1
_(_*)
$.1
-0
0

এটি অনলাইন চেষ্টা করুন! ব্যাখ্যা:

.+
$&()][<<  ¶$&[)[[<=< ¶$&(]]]<<= ¶$&[][]<=<=
((.*),(.*))(.)(.)(.)(.)(<=?)(<=?)( *)
$4$1$5 = $6$1$7 = {$2$8x$9$3}$10 = {$2$8x&&x$9$3}$10 = $2_$8..$3_$9

ফলাফলের প্রধান বাল্ক আপ করুন।

_<=

যদি ভেরিয়েবলটি একটি শিথিল বৈষম্যের সাথে জড়িত থাকে তবে মানটি অন্তর্ভুক্ত হয়, তাই আমরা স্থানধারককে মুছতে পারি।

\d+_
$&*___

মানটিকে অ্যানারিতে রূপান্তর করুন এবং 2 যুক্ত করুন।

T`<`_` _+<|\.-_+<

কঠোর নিম্ন বৈষম্য বা নেতিবাচক কঠোর উচ্চতর বৈষম্যের জন্য স্থানধারককে সরান। এটি এখনও 2 যোগ করা হয়েছে, কিন্তু 1 পরে বিয়োগ করা হবে, পছন্দসই ফলাফল দেয়।

___<
_

অন্যান্য শূন্য-অনমনীয় কঠোর বৈষম্যগুলি থেকে 2 বিয়োগ করুন, মূল মানটি পুনরুদ্ধার করুন, যেখান থেকে 1 পরে বিয়োগ করা হবে।

__<
-1

এর একটি কঠোর উপরের বৈষম্য পরিবর্তন 0করতে -1।

_(_*)
$.1

অবশিষ্ট কঠোর বৈষম্য থেকে 1 বিয়োগ করুন এবং দশমিক রূপান্তর করুন।

-0
0

আরেকটি প্রান্তের মামলা ঠিক করুন।


1

পাইথন 3, 180 বাইট:

lambda a,b:[eval('f"'+"{%r[j]}{a},{b}{%r[i]} = "*2%('([',')]','][','[]')+"{{{a}<{'='[:j]}x%s<{'='[:i]}{b}}}{'  '[i+j:]} = "*2%('','&&x')+'{a+j}..{b-i}"')for i in(1,0)for j in(1,0)]

ব্যাখ্যা

মূলত একটি এফ-স্ট্রিং তৈরি করে যা একটি তালিকা বোধে মূল্যায়ন করা হয়। পুরাতন স্টাইলের %স্ট্রিং ইন্টারপোলেশন এফ-স্ট্রিংকে মূল্যায়ন না করা পর্যন্ত এক্সপ্রেশনগুলির মূল্যায়নে বিলম্ব করতে ব্যবহৃত হয়।

lambda a,b:[
    eval(
      'f"' +                                                            # f-string prefix
      "{%r[j]}{a},{b}{%r[i]} = "*2%('([',')]','][','[]') +              # first two terms
      "{{{a}<{'='[:j]}x%s<{'='[:i]}{b}}}{'  '[i+j:]} = "*2%('','&&x') + # second two terms
      '{a+j}..{b-i}"'                                                   # last term
      )
    for i in(1,0)for j in(1,0)
    ]

স্ট্রিংয়ের প্রথম অংশ 'f' 'এফ স্ট্রিংয়ের উপসর্গ হয়ে উঠবে।

স্ট্রিংয়ের দ্বিতীয় অংশটি প্রথম দুটি বিরতি প্রকাশের জন্য ফর্ম্যাট স্ট্রিং তৈরি করে। %rবিন্যাসে উদ্ধৃতি রাখার প্রয়োজন থেকে বাঁচাতে ব্যবহৃত হয়, যেমন, "{%r[j]}"একই"{'%s'[j]}" । যখন এফ-স্ট্রিংটি মূল্যায়ন করা হয়, তখন সঠিক বন্ধনী নির্বাচন করা হয়।

স্ট্রিংয়ের তৃতীয় অংশটি পরবর্তী দুটি বিরতি প্রকাশ করে।

শেষ অংশটি এফ-স্ট্রিংয়ের "a..b" অংশটিকে ফর্ম্যাট করে।

একত্রিত এফ-স্ট্রিংয়ের মতো দেখতে: f"{'(['[j]}{a},{b}{')]'[i]} = .... = {a+j}..{b-i}"

যখন এফ-স্ট্রিংটি মূল্যায়ন করা হয় তখন ধনুর্বন্ধকের সমস্ত অভিব্যক্তি {}তাদের মান দ্বারা প্রতিস্থাপিত হয়। সুতরাং, {a}এর মান দ্বারা প্রতিস্থাপিত হয় a, এবং জে 0 বা জে 1 হলে এর {'(['[j]}দ্বারা প্রতিস্থাপিত হয় ।([



আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.