চেকবাক্সটি কি চেক না করা হয়?


65

কোড পর্যালোচনা করছেন, আমি নিম্নলিখিত কোডকে হোঁচট খেয়েছি, যা একটি চেকবক্সের স্থিতি পরীক্ষা করে:

if (!isNotUnchecked()) { ... }

কোডটি আসল চেকবক্সের স্থিতিটি কী প্রত্যাশা করছিল তা জানতে 30 মিনিটের জন্য আমাকে বুদ্ধি বোধ করতে হয়েছিল। দয়া করে আমাকে এমন একটি প্রোগ্রাম লিখুন যা এই মূর্খ প্রকাশগুলি সহজ করতে পারে!


প্রোগ্রামটি ইনপুট হিসাবে স্বীকার করতে হবে স্ট্রিংটি অভিব্যক্তিকে সরল করার জন্য (উদাহরণস্বরূপ !isNotUnchecked()) উপস্থাপন করে। প্রোগ্রামটি লজিক্যালি সমতুল্য সরলীকরণের এক্সপ্রেশনটি আউটপুট করা উচিত, হয় isChecked()বা হয় !isChecked()

ইনপুট এক্সপ্রেশনে পদ্ধতির নাম সবসময় দিয়ে শুরু হয় is0..n রয়েছে, Notএবং দিয়ে শেষ হয় Checked()বা Unchecked()। পদ্ধতিটি যে কোনও সংখ্যার দ্বারা উপসর্গ করা যেতে পারে !

উদাহরণ

isChecked() => isChecked()
isUnchecked() => !isChecked()
isNotChecked() => !isChecked()
!isNotChecked() => isChecked()
!!!isNotNotUnchecked() => isChecked()

পাঠ্যটি কি সর্বদা ক্ষেত্রে সংবেদনশীল? ইনপুট হবে notunischecked?
স্টিভেস্টেল

1
@ স্টিভেস্ট না, আপনি ধরে নিতে পারেন যে ইনপুটটি আমি উপরে বর্ণিত ফর্ম্যাটে সর্বদা রয়েছে। isnotuncheckedউদাহরণস্বরূপ আপনার হ্যান্ডেল করার দরকার নেই ।
Arnaud

6
এর মতো একটি ফাংশন নাম সহ আমি এটির 10 থেকে 1 টি মতামত দেব যা এটি প্রকৃতপক্ষে পরীক্ষার শর্তটিও নামকরণের সাথে সামঞ্জস্য করে নি।
কালেব

2
অন্য কথায়, আপনি জানেন যে একটি চেক না করা বাক্সটি কী, আপনি যাচাই না করা বাক্সটি কী তা জানেন (এটি পরীক্ষা করা হয়, যদি এবং কেবল "চেকড" এবং "চেক না করা" কেবলমাত্র দুটি সম্ভাব্য অবস্থা হয়, অন্যথায় এটি কিছু হতে পারে চেকবাক্স: ইনট, সাইন ...) এবং এই নির্দিষ্ট চেকবাক্সের জন্য, এটি (এটি "চেকড" নয়, এটি চেক চিহ্নের সাথে রয়েছে কিনা বা কোনও কিছুর সাথে নয়)। যদি সত্য হয় তবে আপনি নিশ্চিত যে চেকবক্সটি কোনও কিছুর দ্বারা "পরীক্ষিত" নয়। যদি মিথ্যা, ভাল, আপনি জানেন যে চেকবক্সটি একটি চেক না করা বাক্স তবে এটির অর্থ এই নয় যে কেবলমাত্র দুটি সম্ভাব্য রাজ্য না থাকলে এটি পরীক্ষা করা হয় (তারপরে এটি চেক করা হয়)।
জে ডো

1
@ জে দো স্পষ্ট করার জন্য ধন্যবাদ!
আর্নৌদ

উত্তর:


31

পাইথন , 51 বাইট

lambda s:sum(map(s.count,'!NU'))%2*'!'+'isC'+s[-8:]

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


তুমি খাঁটি প্রতিভা! কখনও ভাবেন নিs[-8:]
মিঃ এক্সকোডার

অবশ্যই 'isC'+s[-8:]একটি বাইট দীর্ঘ হয় 'isChecked'?
নীল

9
তবে 'isChecked ()' এর চেয়ে 1 বাইট কম
এন্ড্রু স্মিথ

কেউ কি ব্যাখ্যা করতে পারে s[-8:]/ কী ?
ইএসআর

1
@EdmundReed এটা যা সবসময় হয় ইনপুট শেষ 8 টি অক্ষর, লাগে hecked()
xnor

24

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

Unc
!C
Not
!
O`is|!
!!

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

ব্যাখ্যা

Unc
!C

ঘুরুন Uncheckedমধ্যে !Checked

Not
!

সবগুলিতে Notপরিণত করুন !। আমরা এখন কিছু পেতে !!!is!!!!Checked()

O`is|!

হয় isবা এর সমস্ত ম্যাচ বাছাই করুন !। যেহেতু ! < is, !এটি স্ট্রিংয়ের শুরুতে সমস্ত স্থানান্তরিত করে , তাই উপরের উদাহরণটি হয়ে উঠবে !!!!!!!isChecked()

!!

!পুনরাবৃত্তি প্রত্যাখ্যান বাতিল করতে জোড়া জোড়া সরান ।



13

পাইথন , 43 বাইট

lambda s:sum(map(ord,s))%2*'!'+'isC'+s[-8:]

একটি নামবিহীন ফাংশন স্ট্রিং গ্রহণ করছে sএবং একটি স্ট্রিং ফিরিয়েছে।

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

যখন অক্ষরের অস্তিত্ব জন্য চেক প্রয়োজন নেই করার !, Notএবং Unসব ঠিক একটি বিজোড় পূরণবাচক আছে (এবং cএবং Cউভয় বিজোড় হয়), তাই ঠিক ordinals যোগফল এবং সিদ্ধান্ত মান মডিউল 2 ব্যবহার করি চান একটি যদি !বা না।

ফর্মটি xnor এর উত্তর হিসাবে একই , কারণ আমি এর চেয়ে ভাল আর কিছু পাইনি। নিম্নলিখিতটিও 43:

lambda s:'!isC'[~sum(map(ord,s))%2:]+s[-8:]

10

জাভাস্ক্রিপ্ট (ES6), 51 50 বাইট

f=
s=>(s.split(/!|n/i).length%2?'':'!')+'isChecked()'
<input oninput=o.textContent=f(this.value)><pre id=o>

খুঁজছেন করে কাজ করে !, Nএবং nঅক্ষর, যা পরীক্ষিত রাষ্ট্র উল্টান। splitডিফল্ট হিসাবে একটি বিজোড় অ্যারের দৈর্ঘ্য প্রদান করে, সুতরাং দৈর্ঘ্য সমান !হলে আমরা যুক্ত করি add splitসম্পাদনা: @ বুদ্ধিমানের জন্য 1 টি বাইট সংরক্ষণ করা হয়েছে বিকল্প সংস্করণ, এছাড়াও 50 বাইট জন্য:

s=>`${s.split(/!|n/i).length%2?``:`!`}isChecked()`

হু, এখন আমি ফিরে যাচ্ছি এবং অন্যান্য উত্তরগুলি দেখুন, তারা সবাই এগুলি করছে।
নীল

একটি বাইট সংরক্ষণ করতে আপনার RegEx থেকে বিশ্ব পতাকাটি নামাতে সক্ষম হওয়া উচিত।
শেগি

@ শেগি আসলে আমার দৈর্ঘ্য সঠিক, আমি gসর্বশেষ সম্পাদনাটি সরিয়ে ফেলতে ব্যর্থ হয়েছি ।
নীল

1
আমি মনে করি আপনি এই বাইটটি সংরক্ষণ করতে পারবেন/!|N/i
ETH প্রোডাকশনগুলি

@ এথ প্রডাকশনগুলি আমি মনে করি আপনি সংশোধক /!|N/ছাড়াই বোঝাতে চেয়েছিলেনi
স্প্লিটডিডিভ


7

জাভা 7, 100 77 বাইট

String c(String s){return(s.split("[!NU]").length%2<1?"!":"")+"isChecked()";}

Expanation:

String c(String s){  // Method with String parameter and String return-type
  return(s.split("[!NU]").length
                     //  Count the amount of '!', 'N' and 'U' in the input String (+ 1)
    %2<1?            //  and if they are an even number:
     "!"             //   Start with an examination mark
    :                //  Else:
     "")             //   Start with nothing
    +"isChecked()";  //  And append "isChecked()" to that
}                    // End of method

পরীক্ষার কোড:

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

class M{
  static String c(String s){return(s.split("[!NU]").length%2<1?"!":"")+"isChecked()";}

  public static void main(String[] a){
    System.out.println(c("isChecked()"));
    System.out.println(c("isUnchecked()"));
    System.out.println(c("isNotChecked()"));
    System.out.println(c("!isNotChecked()"));
    System.out.println(c("!!!isNotNotUnchecked()"));
  }
}

আউটপুট:

isChecked()
!isChecked()
!isChecked()
isChecked()
isChecked()

7

অ্যাসেটো , 49 বাইট

&M"pp"
L!)(de
&c;`Che"
`!d!sick
!',@p"!'
'N'U`!Lu

ইয়াড্ডা ইয়াদদা হিলবার্ট কার্ভ

প্রথমত, আমরা স্ট্যাকের উপরে তিনটি গুরুত্বপূর্ণ চরিত্রকে চাপছি:

!'
'N'U

তারপরে আমরা একটি ধরা চিহ্ন সেট করি এবং একটি একক অক্ষর পড়ে শুরু করি। আমরা dএটিকে উত্সাহিত করি এবং এটিকে অবহেলা করি এবং এর ফলাফল যদি সত্যবাদী হয় (সুতরাং যদি স্ট্রিংটি খালি ছিল; সুতরাং ইনপুটটি শেষ হয়ে গেল), আমরা শেষের দিকে ঝাঁপ দাও:

;`
d!
,@

ইনপুট চরিত্রের অবশিষ্ট অনুলিপি সহ, আমরা এটি পরীক্ষা করি যে এটি বাকী স্ট্যাকের মধ্যে রয়েছে কিনা (যেমন এটির যদি একটি !, এন, ইউ) থাকে। যদি তা না হয় তবে আমরা একটি ত্রুটি উত্থাপন করে আমাদের আবার ধরা পড়ার চিহ্নটিতে ফেলেছিলাম যেখানে আমরা অন্য একটি অক্ষর পড়ি:

&c
`!

অন্যথায়, আমরা দ্রুত স্টোরেজটিতে যা লোড করি (মূলত একটি খালি স্ট্রিং; মিথ্যা) এমন একটি নিবন্ধ রেকর্ড করুন এবং এটিকে তাত্ক্ষণিক স্টোরেজে প্রেরণ করুন, তারপরেও ত্রুটিটি বাড়িয়ে তুলুন (অক্ষরগুলি পড়তে ফিরে যাওয়া):

&M
L!

ইনপুট বন্ধ হয়ে গেলে, আমরা শেষ প্রেরণ করা হয়। সেখানে আমরা দিকটি বিপরীত করি, একটি বিস্মৃত চিহ্নটি ধাক্কা দিয়েছি এবং দ্রুত সঞ্চয়স্থান লোড করি এবং এটিকে প্রত্যাখ্যান করি। যদি এটি সত্যবাদী হয় (যেমন আমাদের কাছে একটি বিচিত্র সংখ্যক উপকারের বিষয় ছিল) তবে আমরা যে উদ্বিগ্ন চিহ্নটি ছুঁড়েছি তা মুদ্রণ করি:

p !'
`!Lu

শেষ অবধি, আমরা স্ট্রিংটি দুটি অংশে চাপছি এবং সেগুলি মুদ্রণ করব (স্থান সংরক্ষণের কারণে):

"pp"
)(de
  Che"
  sick
   "

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

&



!' @
'N'U

যেহেতু Uএখন একটি একক উদ্ধৃতি অক্ষর দ্বারা preceeded নয় এবং সেজন্য একটি চরিত্র আক্ষরিক যেমন দেখা যায় না, এটি একটি কমান্ড হিসেবে ব্যাখ্যা পরার: Uস্ট্যাক সব উপাদান reverses (বর্তমানে এটা !, N, U, শীর্ষ থেকে), এবং 'Nএবং '!আরো ধাক্কা অক্ষর, অর্থ আমরা স্ট্যাক দিয়ে শেষ [U, N, !, N, !]

পার্শ্ব দ্রষ্টব্য: এটি অ্যাসেটোর নতুন সম্পাদকের সহায়তায় লেখা (অংশে) প্রথম অ্যাসেটো প্রোগ্রাম ।


6

সি, 78 70 68 বাইট

ধন্যবাদ ক্রিস্টোফ!

c;f(char*s){for(c=1;*s;)c^=!!strchr("!NU",*s++);s="!isChecked()"+c;}

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

আউটপুট:

isChecked() => isChecked()
isUnchecked() => !isChecked()
isNotChecked() => !isChecked()
!isNotChecked() => isChecked()
!!!isNotNotUnchecked() => isChecked()

1
c;f(char*s){for(c=1;*s;)c^=!!strchr("!NU",*s++);s="!isChecked()"+c;}ফ্লোর করতে xor ব্যবহার করা c2 বাইট সংরক্ষণ করে।
ক্রিস্টোফ

6

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

-২ বাইটস @ ডোম হেস্টিংসকে ধন্যবাদ ।

30 বাইট কোড + -pপতাকা।

/c/i;$_="!"x(y/UN!//%2).isC.$'

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

y/UN!//ঘটনার সংখ্যা, মোট ছাত্র Un, Notএবং !। ফলাফলটি অনেকগুলি !মডুলো 2, এর পরে আসে isChecked()


রেগেক্সের উপর ভিত্তি করে, আর একটি প্রচেষ্টা 38 বাইটের জন্য (ডোম হেস্টিংস সেইটিতে 1 বাইট সংরক্ষণ করেছে):

s/isNot|isUn(c)/!is\u$1/?redo:s/!!//g

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


আপনার রেজেক্স সংস্করণটি কাজ করে না কারণ সেখানে দুটি cসেকেন্ড রয়েছে Unchecked
নীল

1
@ নীল রেগেক্স কেবল প্রথমটি প্রতিস্থাপন করে (যেহেতু আমি /gপতাকা ব্যবহার করছি না )। পরীক্ষাগুলি কেসগুলি আমার কাছে ভাল দেখাচ্ছে (সিআরএফটিআইআরআলাইন লিংক)। সুতরাং আপনি কী বলতে চাইছেন তা আমি সত্যিই দেখছি না ...
দাদা

দুঃখিত, সঠিক কারণ হতে পারে আপনার Regex সংস্করণ কাজ করে না যে যদিও সেখানে হয় cমধ্যে Uncheckedরয়েছে এক Checked, তাই আপনি দিয়ে শেষ যখন আপনি এটি subsitute CheCked
নিল

1
আরে, আশা করি আপনি ঠিকঠাক করছেন! আমি কিছুক্ষণের জন্য এখানে আসিনি, তবে আমি প্রথমটির
ডম হেস্টিংস

1
নিবন্ধন করুন দুর্দান্ত, অনেক অনেক ধন্যবাদ! আপনাকে চারদিকে ফিরে দেখে খুশি :-)
দাদা

6

স্কালা , 39 30 বাইট

s=>"!"*(s.sum%2)+"isChecked()"

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

দুর্ভাগ্যক্রমে আমি এস এর ধরণের জন্য এটি পেতে পারি না।

সম্পাদনা করুন: প্রকারের ঘোষণাপত্রটি শিরোনামে সরানো হয়েছে (আমার মনে হয় এটি অনুমোদিত হয়েছে, যদি না হয় তবে আমি এটি ফিরিয়ে দেব)।




3

05 এ বি 1 ই , 16 বাইট

ÇOÉ'!×…isCyR8£RJ

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

জোনাথন অ্যালানের অজগর উত্তর থেকে অধ্যাদেশগুলি সংক্ষিপ্ত করার কৌশলটি ব্যবহার করে ।

ব্যাখ্যা

 ÇO                # sum of ascii values of input
   É               # is odd
    '!×            # repeat "!" that many times
       …isC        # push the string "isC"
           IR8£R   # push the last 8 chars of input
                J  # join everything to string

3

জাপট , 24 23 বাইট

o"!N" l u)ç'! +`‰C”×B()

ব্যাখ্যা

 o"!N" l u)ç'! +`‰C”×B()
Uo"!N" l u)ç'! +`‰C”×B()`
Uo"!N"                     # Only keep "!", "n" and "N" from the input
           ç'!             # Repeat the string "!" by
       l u)                # the parity of the length of the newly formed string
               +`‰C”×B()` # and concatenate with the string "isChecked()"

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


1
অপেক্ষা করুন ... কীভাবে ... কেন ... oকেস-সংবেদনশীল? আমি জানতাম না ...
ইটিএইচ প্রোডাকশনগুলি

আমি এটিও জানতাম না, তবে "! এনইউ" দিয়ে পরীক্ষা করার সময় আমি জানতে পেরেছিলাম। "চেক না করা" এ ছোট হাতের "এন" টিও রয়ে গেছে, তাই আমি "ইউ"
লুক

3

পিএইচপি (5.5 - 5.6), 52 50 49 বাইট

<?='!'[count(spliti('!|N',$argn))%2]?>isChecked()

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

-2 Bytes by @Titus. Ty :)
-1 Byte  by @ETHproductions. Ty :)

পিএইচপি (> = 5.5), 66 65 61

for($b=b;$a=$argn[$i++];)$b^=$a;echo$b&"!"|" ","isChecked()";

রেজেক্স ছাড়া এটি আরও কিছুটা কমপেক্স পায় :) এটি এখানে চেষ্টা করে দেখুন ।

-4 Bytes by @Titus. Ty :)

1
error_reportingডিফল্ট মান হয় E_ALL&~E_NOTICE&~E_STRICT&~E_DEPRECATED
তিতাস

1
@ টিটাস জেএসকে রিজেক্স চ্যালেঞ্জে মারছে!
ক্রিস্টোফ

$b^=$aখুব সুন্দর সন্ধান! আপনি একই আকারে পিএইচপি ট্যাগ ছাড়াই এটি করতে পারেন।
তিতাস

1
শীর্ষস্থানীয় হোয়াইটস্পেসের অনুমতি দেওয়া হলে 61 বাইট:for($b=b;$a=$argn[$i++];)$b^=$a;echo$b&"!"|" ","isChecked()";
টাইটাস

টাইটাস আমাকে স্বীকার করতে হবে যে এটি এই উত্তর থেকে অনুপ্রাণিত হয়েছিল ।
ক্রিস্টোফ

3

জেলি ,  16  15 বাইট

OSḂ⁾!iṫ⁾sCø³ṫ-7

একটি সম্পূর্ণ প্রোগ্রাম যা কমান্ড লাইন আর্গুমেন্ট হিসাবে স্ট্রিং নেয় এবং ফলাফল মুদ্রণ করে

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

OSḂ⁾!iṫ-7³ṫṭ⁾sCঅথবা OSḂ⁾!iṫ-7³ṫ⁾sC;উভয়ই 15 এর জন্য কাজ করবে।

কিভাবে?

আমার পাইথন উত্তরের মতো একই ধারণাটি ব্যবহার করে , তবে জেলিতে কোনও আলাদা নির্মাণ !isCবা isCকিছু অন্তর্নিহিত মুদ্রণ ব্যবহার করে বাইটগুলি সংরক্ষণ করে ...

OSḂ⁾!iṫ⁾sCø³ṫ-7 - Main link: s
O               - cast to ordinals
 S              - sum
  Ḃ             - mod 2
   ⁾!i          - literal ['!','i']
      ṫ         - tail -> ['i'] if OSḂ was 0; ['!','i'] if OSḂ was 1
                - this is printed due to the following starting a new leading
                - constant chain. Printing smashes so either "i" or "!i" is printed.
       ⁾sC      - literal ['s','C']
                - this is printed (as "sC") due to the following niladic chain.
          ø     - start a new niladic chain
           ³    - program's first input (3rd command line argument), s
            ṫ-7 - tail from index -7 = ['h','e','c','k','e','d','(',')']
                - implicit print (of "hecked()")

পূর্ববর্তী @ 16 বাইট 9 (একযোগে ব্যবহার এবং একই অন্তর্নিহিত ধারণার সাথে যুক্ত করা):

OSḂ⁾!iṫ;⁾sC,ṫ€-7

আহা, ঘৃণা, আমি ভাবলাম আমি মোড 2 ট্রিক দিয়ে কিছু করছি। তারপরে আমি এটি পেয়েছি: পিআই এর কাছে এটি 18 বাইটের জন্য ছিল, সম্ভবত এটি সহায়তা করতে পারে:OS1&”!x;“isC”;ṫ-7$
কনর ও'ব্রায়েন

2

পার্ল 6 ,  35  31 বাইট

{'!'x m:g/<[!NU]>/%2~'isChecked()'}

চেষ্টা করে দেখুন

{'!'x tr/!NU//%2~'isChecked()'}

এটি ব্যবহার করে দেখুন
(পরিবর্তনযোগ্য ইনপুট স্ট্রিংয়ের প্রয়োজন যা বিকৃত হবে)

সম্প্রসারিত:

{
  #(
    '!'
  x               # string repeat

    # m:g/<[!NU]>/
    tr/!NU//      # find the number of negatives
      % 2         # modulus 2
  #)

  ~                # string concat

    'isChecked()'
}

2

সেড, 36 বাইট

অন্যান্য প্রত্যক্ষ বিকল্পের উত্তর হিসাবে একই ধারণা।

:
s/Unc/NotC/
s/isNot/!is/
s/!!//
t

2

সেড, 37 38 বাইট

:;s/is(Not|Un)/!is/;s/!!//;t;s/ch/Ch/

-rসুইচ জন্য 37 + 1 :

sed -r ':;s/is(Not|Un)/!is/;s/!!//;t;s/ch/Ch/'

1
এটি সর্বশেষে s/c/C/পার্ল 5 উত্তরের জন্য সমস্যা তৈরি করেছে ...
নীল

হ্যাঁ, দেখে মনে হচ্ছে s/c/C/এটি "আন" ছাড়াই দ্বিতীয় "সি" কে ধরছে
কেভিন

1
এছাড়াও, আপনি লুপটি ভিতরে রেখে gএবং লুপটির s/!!//ভিতরে সরিয়ে একটি বাইট সংরক্ষণ করতে পারেন ।
কেভিন

2

গণিত, 82 61 60 বাইট

ছোট টুইট, আরও একটি ইনফিক্স অপারেটর যুক্ত করা হয়েছে:

"!"~Table~Mod[#~StringCount~{"o","n","!"},2]<>"isChecked()"&

পূর্বে:

"!"~Table~Mod[StringCount[#,{"o","n","!"}],2]<>"isChecked()"&

সমস্ত ও, এন এবং এর এর পরে মোড 2 গণনা করুন এবং অনেকগুলি রাখুন! সামনে.

পুরাতন রুপ:

"!"~Table~Mod[StringCount[StringReplace[#,{{"o","n"}->"!"}],"!"],2]<>"isChecked()"&

2

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

=IF(ISODD(SEARCH("C",SUBSTITUTE(SUBSTITUTE(A1,"Un","!"),"Not","!"))),"","!")&"isChecked()"

2

উইন্ডোজ ব্যাচ, 120 বাইট

এর আগে 268 257 253 245 239 221 182 176 169 123 বাইট

@set a=%1
@set s=#%a:~,-2%
@set s=%s:!=N#%
@for %%a in (%s:N= %)do @set/ac+=5
@if %c:~-1%==0 cd|set/p=!
@echo isC%a:~-8%

প্রোগ্রামগুলি সবগুলিতে প্রতিস্থাপন !করে N#। কারণ এখন সমস্ত অবহেলা চিহ্ন,! (এখন এটি N#), Notএবং Unএতে রয়েছে N, প্রোগ্রামটি উপস্থিতির সংখ্যা গণনা করতে পারে Nএবং নেতৃত্বের !প্রয়োজন কিনা তা নির্ধারণ করে ।

প্রতিবার প্রোগ্রামটি একটি হিসাবে গণনা করা হয় N, কাউন্টারটি 5 যোগ করে 5 যুক্ত করার কারণ হ'ল প্রতিটি বিকল্প মান যখন 0 বা 5 এর মধ্যে 5 টি যুক্ত হয় তখন মানটি বিজোড় বা এমনকি এবং শীর্ষস্থানীয় কিনা তা নির্ধারণ করতে ব্যবহার করা যেতে পারে !প্রয়োজন হলে আমাদের যুক্ত।

তদতিরিক্ত, xnor এর শেষ-আট-চরিত্রের কৌশলটি ব্যবহার করা হয়েছে।


কেউ ভাবেন উইন্ডোজ ব্যাচে প্রোগ্রামিং করা অসম্ভব ...
নিডজেজেকব

অবশ্যই ...... ব্যাচের স্ক্রিপ্টিং অযৌক্তিক ....
স্টিভেফেল

1

জেলি , 29 28 25 21 বাইট

f“NU!”LḂ”!x;“µịÆẹṠƊẹ»

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

f“NU!”LḂ”!x;“µịÆẹṠƊẹ»  Main link, argument is z
f“NU!”                 Filter to only keep "NU!"
      LḂ”!x            Repeat exclamation mark by the parity of the length
           ;“µịÆẹṠƊẹ»  Concatenate to "isChecked()"

-4 বাইট জোনাথন অ্যালানকে ধন্যবাদ!
-4 বাইট জোনাথন অ্যালানকে ধন্যবাদ! (সংক্ষেপিত স্ট্রিং ব্যবহার করে)


লিন মডিউল হিসাবে এখানে তৈরি ইন্টারফেস সংরক্ষণ করুন (জেলিকম্প্রেস.পি বলুন), তারপরে এটি তৈরি হত jellyCompress.Compress().string("is").dictionary("Checked").string("()").go()। (আপনি যদি কোনও উইন্ডোজ সিএমডি ইনস্টল করে চলেছেন এবং দেজাভু সানস মনো ফন্টটি স্যুইচ করুন chcp 65001এবং অক্ষরগুলি প্রদর্শন করতে পাইথন চালু করার আগে কমান্ডের সাথে কোডপেজ পরিবর্তন করুন )
জোনাথন অ্যালান

@ জোনাথান অ্যালান ওহ ঠিক আছে ধন্যবাদ!
হাইপারনিউট্রিনো

1

পিএইচপি, 55 বাইট

<?=preg_match_all("#!|N#i",$argn)&1?"!":""?>isChecked()

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

পিএইচপি, 58 বাইট

<?=preg_match_all("#[!NU]#",$argn)%2?"!":"","isChecked()";

পরিবর্তে "#[!NU]#"আপনি ব্যবহার করতে পারেন"#[!N]#i"

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

পিএইচপি, 68 বাইট

রেজেক্স ছাড়াই সংস্করণ

for(;$c=$argn[$i++];)$d^=!trim($c,"UN!");echo"!"[!$d],"isChecked()";

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


3
<?=preg_match_all("#[!UN]#",$argn)&1?"!":""?>isChecked()-2 বাইট
টাইটাস

আমি আসার আগে ঠিক একই উত্তর ছিল count(split()): ডি @ টাইটাস দুর্দান্ত ধারণা!
ক্রিস্টোফ

1
" !"[$d&1]নেতৃস্থানীয় সাদা স্থান ঠিক থাকলে অন্য একটি বাইট সংরক্ষণ করে। $d^=!trim($c,"UN!")3 বাইট সাশ্রয় করে (কারণ আপনার &1আর দরকার নেই)।
তিতাস

1
@ টিটাস হ্যাঁ এর একটি উদাহরণ হ'ল আপনি নিজেই আরও জ্ঞান রাখবেন। আপনাকে ধন্যবাদ এবং "!"[!$d]পরিবর্তে হোয়াইটস্পেস সমস্যার কারণে আমি করেছি
জার্গ হালসারম্যান

1
@ ক্রিসটফ আপনি ঠিক বলেছেন আমি এটির জন্য দুঃখিত এটি ভুলে
গিয়েছি

1

জাপট , 19 বাইট

`‰C”×B()`i'!pU¬xc u

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

আনপ্যাকড এবং কীভাবে এটি কাজ করে

`‰C”×B()`i'!pUq xc u

`‰C”×B()`   Compressed string for "isChecked()"
i     Insert the following string at the beginning...
'!p     "!" repeated the following number of times...
Uq        Split the input into chars
xc        Sum the charcodes
u         Modulo 2

জোনাথন অ্যালানের পাইথন সমাধান থেকে চারকোড-সামরিক কৌশলটি ব্যবহার করা ।


1

পাস্কাল (এফপিসি) , 119 বাইট

var s:string;j:word;c:char;begin read(s);for c in s do j:=j+ord(c);if 1=j mod 2then write('!');write('isChecked()')end.

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

প্রায় প্রতিটি উত্তর যে পদ্ধতিটি ব্যবহার করে ইনপুটটিতে অক্ষরের কোডপয়েন্টগুলিকে যোগ করে, তারপরে যোগফলের সমতা পরীক্ষা করে।

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