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


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.