এমনকি বা বিজোড়: তিনজন খেলোয়াড়


15

এটি তিন খেলোয়াড়ের খেলা, এক হাতে খেল।

একই সময়ে, প্রতিটি প্লেয়ার 0 থেকে 5 টি আঙ্গুল বাড়িয়ে হাত দেখায়।

যদি সমস্ত খেলোয়াড় একই ধরণের (এমনকি বা বিজোড়) নম্বর দেখায় তবে কোনও বিজয়ী নেই। তবে অন্যথায়, খেলোয়াড় অন্য দুটি জয়ের বিভিন্ন ধরণের দেখায়।

 P l a y e r s
A      B      C       Winner

Even   Even   Even    No winner
Odd    Odd    Odd     No winner
Even   Odd    Odd     Player A
Odd    Even   Even    Player A
Even   Odd    Even    Player B
Odd    Even   Odd     Player B
Odd    Odd    Even    Player C
Even   Even   Odd     Player C

অনুরোধ করা সরঞ্জামটি আর্গুমেন্টগুলি (0 থেকে 5 এর মধ্যে সংখ্যা হিসাবে 3 টি আর্গুমেন্ট) বা এসটিডিআইএন (3 টি মান দ্বারা লাইনে স্থান দ্বারা পৃথক করা) ব্যবহার করতে পারে।

ইনপুট চেক করার দরকার নেই: অনিয়মিত ইনপুট অপ্রত্যাশিত আউটপুট উত্পাদন করতে পারে।

লাইনে থাকা যুক্তি বা মানগুলি বাম থেকে ডানে, প্লেয়ার এ থেকে প্লেয়ার সি তে দেওয়া হয়

আউটপুটটিতে অবশ্যই A, Bবা C(মূলধনযুক্ত) বা স্ট্রিং থাকা উচিত ( no oneনিয়মিত স্থান সহ, নিম্ন ক্ষেত্রে)।

সরঞ্জাম কেবল একবারে বা সমস্ত ইনপুট লাইনে ফিল্টার হিসাবে কাজ করতে পারে।

সংক্ষিপ্ততম কোড জয়।


6
[পাহাড়ের রাজা] হিসাবে আরও আকর্ষণীয় হতে পারে। গেম খেলুন
ডিএমকেকে --- প্রাক্তন মডারেটর বিড়ালছানা

আমি আশ্চর্য হই যে কীভাবে আমাদের 5 টি আঙ্গুল রয়েছে (সুতরাং 3 টি বিজোড় এবং 2 টি এমনকি আরও আঙ্গুলের সংখ্যাও সম্ভব) বিজয়ী কৌশলকে প্রভাবিত করে ...
অলিভিয়ার ডুলাক

@ অলিভিয়ারডুলাক, 0 এটি একটি সমান সংখ্যা।
পিটার টেলর

এই গেমের নিয়মটিতে হ্যাঁ, এটি বিজোড় সংখ্যার চেয়েও একই সম্ভাবনা (0 2 4 বনাম 1 3 5)
এফ হৌরি

@ পিটারটেলর: ধন্যবাদ, আমি প্রশ্নটি ভুলভাবে পড়েছি (এবং আমি মনে করি না এটি গণনা করবে)।
অলিভিয়ার ডুলাক

উত্তর:


12

এপিএল ( 34 30)

(1⍳⍨+/∘.=⍨2|⎕)⊃'ABC',⊂'no one'

ব্যাখ্যা:

  • 2|⎕: ইনপুট একটি লাইন পড়ুন, প্রতিটি সংখ্যার Mod-2 নিন (একটি তালিকা প্রদান, অর্থাত 1 0 1)
  • ∘.=⍨: ভেক্টরের প্রতিটি উপাদানকে ভেক্টরের প্রতিটি উপাদানের সাথে তুলনা করুন, একটি ম্যাট্রিক্স প্রদান করুন
  • +/: ম্যাট্রিক্সের সারিগুলি যোগ কর, প্রতিটি উপাদানকে এটির জন্য কতটি উপাদান সমান giving যদি সেখানে দুটি একই এবং একটি পৃথক থাকত তবে এখন আমাদের কাছে একটি ভেক্টর রয়েছে 2 1 2যেখানে 1ডোনোটগুলি কে আলাদা ছিল। যদি তারা সব একই ছিল, আমরা পেতে 3 3 3
  • 1⍳⍨: অবস্থান খুঁজে 1। যদি সেখানে না 1থাকে তবে এটি ভেক্টরের দৈর্ঘ্যের চেয়ে আরও একটি বেশি ফেরত দেয় 4
  • ⊃'ABC',⊂'no one': প্রদত্ত সূচকে স্ট্রিংটি প্রদর্শন করুন।

সূচকটি গণনা করতে দুর্দান্ত, অ্যারে-ভিত্তিক প্রোগ্রামিংয়ের ভাল ব্যবহার।
ফায়ারফ্লাই

8

গণিত, 45 43 42 41 অক্ষর

f="no one"[A,B,C]〚Mod[Tr@#-#,2].{2,1,0}〛&

উদাহরণ:

f[{0 ,0, 0}]

কেউ না

f[{1, 3, 5}]

কেউ না

f[{2, 3, 5}]

একজন

f[{2, 3, 4}]

বি


43 42 অক্ষর সহ আরও একটি সমাধান :

f=Mod[Tr@#-#-1,2].{A,B,C}/._+__->"no one"&


4

বেফুঞ্জ -98, 61 50 45 টি অক্ষর

&&&:11p+2%2*\11g+2%+:"@"+#@\#,_0"eno on">:#,_

আরও কয়েকটি অক্ষর শেভ করতে ফোর্সের চালাক অভিব্যক্তিটি ব্যবহার করে Uses এখন একক লাইন (অর্থাত্ আনফঞ্জ-সামঞ্জস্যপূর্ণ)! একটি খেলা জিতানো না হওয়া পর্যন্ত পড়া; @একটি শট প্রোগ্রামের জন্য শেষে যুক্ত করুন ।

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

কোনও বৈকল্পিকতা যা ইনপুটগুলির একটি লাইন পড়ে, আউটপুট উত্পাদন করে, ইনপুটগুলির একটি নতুন লাইন পড়েন ইত্যাদি until যতক্ষণ না কোনও গেমের সিদ্ধান্ত হয় (যেমন 'কেউ নয়'):

&2%4*&2%2*&2%++1g:" "#@-#,_0"eno on">:#,_
 CBAABC


আমি আমার উত্তরের জন্য এটি মাছকে পোর্ট করেছি। আমি আপনাকে লক্ষ করেছি। +1 বিটিডব্লিউ
ক্রুঙ্কার

4

এপিএল, 30

(1+2=/2|⎕)⊃'BA'('C',⊂'no one')

কনফিগারেশনের মাধ্যমে যদি আমাকে সিস্টেমের ভেরিয়েবলগুলি পরিবর্তন করার অনুমতি দেওয়া হয় তবে 2 টি অক্ষর শেভ করা যায়। (বিশেষত, সূচক উত্সকে ⎕IO0 তে পরিবর্তন করা )

গুরুত্বপূর্ণ বিট

আমরা যদি সমস্ত প্রতিকূল একইভাবে এবং সমস্ত সমানকে একইভাবে উপস্থাপন করি তবে একটি জোড়-ভিত্তিক সমতা ক্রিয়াকলাপ সমস্ত 4 টি ক্ষেত্রে পার্থক্য করতে পারে: 0 0বি জয়ের 0 1জন্য, এ জয়ের জন্য, ইত্যাদি etc.

ব্যাখ্যা

2|⎕ইনপুট এবং মোড 2 নেয়
2=/জোড়-ভিত্তিক সমতা
1+ইনডেক্সিংয়ের জন্য 1 যোগ করুন (এপিএল অ্যারেগুলি ডিফল্টরূপে 1-ভিত্তিক হয়)

'BA'('C',⊂'no one')নেস্টেড অ্যারে নেস্টেড অ্যারে
থেকে সঠিক উপাদানটি খুঁজে নেয়


3

সি: 88 টি অক্ষর

দুর্ভাগ্যক্রমে সি, বরাবরের মতো, অনেকটা অপ্রয়োজনীয় জাঙ্ক দরকার। কিন্তু তবুও, কোন অন্য ভাষাতে কেউ লিখতে পারে =**++b+**(++এবং এর আসলে কিছু বোঝায়? বেশ সহজভাবে উত্সাহ।

main(int a,char**b){(a=**++b+**(++b+1)&1|2*(**b+**++b&1))?putchar(a+64):puts("no one");}

আর্গুমেন্ট হিসাবে কেবল তিনটি সংখ্যা পাস করুন, এবং ভয়েলি!


এই preincrement এর সঠিক আদেশ নির্দিষ্ট করা হয়? আমি ভেবেছিলাম এটি ছিল না ... যদিও আপনি *b[1]কোনও আকারের পার্থক্য ছাড়াই এগুলি ইত্যাদির সাথে প্রতিস্থাপন করতে পারেন (যদিও কমনীয়তায় কিছুটা ক্ষতি হয়েছে .. :()
ফায়ারফ্লাই

রুবিতে:: s = "=**++b+**(++"পি সমস্ত গম্ভীরতায়, বাহ, কীভাবে তা ... এটি কীভাবে কাজ করে? : ও
ডোরকনবব

@ ডুরকনব এটি খুব চালাক, তবে আপনি যদি এর bপরিবর্তে সূচীকরণের সাথে ডেরেফারেন্সিং এবং প্রিনক্রেনমেন্টগুলি প্রতিস্থাপন করেন এবং শর্তটি কিছুটা মুদ্রণ করেন তবে আপনি এটি নির্ধারণ করতে সক্ষম হবেন। : ডি (ফল এবং সত্য টেবিলের জন্য কলম এবং কাগজগুলিও সহায়তা করে)
ফায়ারফ্লাই

3

গল্ফস্ক্রিপ্ট (৩১ টি অক্ষর)

~]{1&}%.$1=!?)'no one
A
B
C'n/=

খুব সাধারণ যুক্তি: ইনপুট মডুলো 2 হ্রাস করুন, তারপরে একটি অনুলিপি বাছাই করুন। বাছাই করা অ্যারের মাঝারি আইটেমটি সংখ্যাগরিষ্ঠ, সুতরাং একটি সূচকটি দেখুন যা আলাদা (এবং তাই সংখ্যালঘুতে)।


3

রুবি (ফাংশন বডি), 42 টি অক্ষর

3 সংখ্যাসূচক আর্গুমেন্ট ধরে নেওয়া যাক a, bএবং c:

['zCBAABCz'[a%2*4|b%2*2|c%2],'no one'].min

রুবি (কমান্ড লাইন সরঞ্জাম), 61 টি অক্ষর

সংস্করণ 1 62 টি অক্ষরে আসে:

$><<["zCBAABCz"[$*.reduce(0){|i,n|i*2|n.to_i%2}],'no one'].min

তবে, ড্যারেন স্টোনর উত্তরটি ছেড়ে দিয়ে পিগিগ্যাক করে , সংস্করণ 2 61১ টি অক্ষরে নেমে গেছে:

i=0;$*.map{|n|i+=i+n.to_i%2};$><<['zCBAABCz'[i],'no one'].min


2

জাভাস্ক্রিপ্ট (নোড), 87 টি অক্ষর

p=process.argv;console.log("ABC"[3-Math.min(x=p[2]%2*4+p[3]%2*2+p[4]%2,7-x)]||"no one")

বলটি ঘূর্ণায়মান ... তিনটি অতিরিক্ত যুক্তি হিসাবে ইনপুট আশা করে। ইনপুট / আউটপুট জন্য নিম্নলিখিত প্যাটার্ন ব্যবহার করে ( /"কেউ নয়" প্রতিনিধিত্ব করে):

  A B C  res  #
 ───────────────
  0 0 0   /   0
  0 0 1   C   1
  0 1 0   B   2
  0 1 1   A   3
  1 0 0   A   4
  1 0 1   B   5
  1 1 0   C   6
  1 1 1   /   7

2

গল্ফস্ক্রিপ্ট, 36 35 33 টি অক্ষর

~]0\{1&\.++}/'no one
C
B
A'n/.$+=

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


2

পার্ল, 84 টি অক্ষর।

$x=oct"0b".join"",map{$_%2}<>=~/(\d)/g;print"",('no one','C','B','A')[$x>=4?7-$x:$x]
  • <>=~/(\d)/g ইনপুট লাইনটিকে পৃথক অঙ্কে পার্স করে
  • map{$_%2 এই তালিকাটি গ্রহণ করে এবং মান মড 2 গণনা করে (এমনকি বা বিজোড়)
  • oct"0b".join"", মোড মানগুলির এই তালিকাটি গ্রহণ করে, সেগুলিতে একটি স্ট্রিংয়ে যোগ দেয়, একটি অক্টাল স্পেসিফায়ার সংযোজন করে এবং স্ট্রিংটিকে একটি সংখ্যায় রূপান্তর করে।

মূলত আমি যা করেছি তা হ'ল একটি সত্য টেবিল তৈরি করা, এবং তারপরে এটি সাবধানতার সাথে পুনরায় সাজানো যাতে আমার চারপাশে একটি বিপরীতমুখী অপারেশন হয়েছিল $x == 4। সুতরাং, যদি $x >=4আমরা বিপরীতমুখী[$x>=4?7-$x:$x] করতাম যা আমরা অ্যারেতে সূচি ব্যবহার করতাম('no one','C','B','A')

এটি সংক্ষিপ্ততম কোড নয়, তবে এটি আসলে শব্দের সাথে লাইন করে না ... যা নিজের মধ্যে এবং এটি উল্লেখযোগ্য।

পার্ল: 74 টি অক্ষর + 3 পতাকা = 77, এর সাথে চালান perl -anE '(code)'

s/(\d)\s*/$1%2/eg;$x=oct"0b".$_;say"",("no one","C","B","A")[$x>3?7-$x:$x]

এটি অটোস্প্লিট (-a) উপকারের মাধ্যমে বলুন (দ্য-ই), এবং শেষ পর্যন্ত তুলনার সাথে কী ভুল ছিল তা খুঁজে বের করার মাধ্যমে এটি একটি উন্নতি।


এর >=4পরিবর্তে সরল কেন >3? '0b'.আমি আগে জানতাম না এমন টিপসের জন্য +1
এফ হৌরি

আমি উভয়ই ডিবাগারে (> 3 এবং> = 4) চেষ্টা করেছিলাম, তবে কেন আমি নিশ্চিত নই, তবে> = 4 কাজ করেছিল, তবে> 3 তা করেনি। আমি নিজেই নিজের সন্তুষ্টির জন্য এটি (সম্ভবত উদাসিত ডিবাগার?) ব্যাখ্যা করতে পারি না
জো

মনে হয় আপনার উভয় গুণায় অতিরিক্ত চর ছিল যা আমি স্থির করেছিলাম। এছাড়াও পতাকাগুলি অক্ষর হিসাবে গণনা করা হয়।
ডুরকনব

2

কমন লিস্প, 114 106 70 টি অক্ষর

তিনটি মান থেকে সংলগ্ন উপাদানগুলির মধ্যে সমতা পার্থক্য উপস্থাপন করে একটি জুড়ি তৈরি করুন। ফলাফল তালিকায় সূচকে বাইনারি সংখ্যা হিসাবে এটি আচরণ করুন।

(defun f(a b c)(elt'(no_one c a b)(+(mod(- b c)2)(*(mod(- a b)2)2)))))

পুরানো অ্যালগরিদম:

(defun f(h)(let*((o(mapcar #'oddp h))(p(position 1(mapcar(lambda(x)(count x o))o))))(if p(elt'(a b c)p)"no one")))


1

গণিত 100 94 89

f=If[(t=Tally[b=Boole@OddQ@#][[-1,2]])==1,{"A","B","C"}[[Position[b,t][[-1,1]]]],"no one"]&

পরীক্ষামূলক

f[{5, 3, 1}]
f[{2, 0, 4}]
f[{0, 1, 2}]
f[{0, 1, 3}]
f[{1, 3, 0}]

"কেউ নেই"
"কেউ নেই"
"বি"
"এ"
"সি"



1

আর 67

z="no one";c("A","B","C",z,z)[match(2-sum(x<-scan()%%2),c(x,2,-1))]

মজাদার! আমি কীভাবে এটি পরীক্ষা করতে পারি? আমার কী চালাতে হবে (সম্ভবত একটি শেবাং?)
এফ হৌরি

আপনাকে একটি ইন্টারেক্টিভ আর সেশন শুরু করতে হবে (উদাহরণস্বরূপ /usr/bin/R) তারপরে উপরের কোডটি প্রবেশ করান। scan()ইনপুটটির জন্য আপনাকে কী অনুরোধ জানাবে: একটি উদাহরণ টাইপ করা 1[space]3[space]5[space][enter][enter]হবে এবং আপনি no oneস্ক্রিনে প্রিন্ট করা সম্পর্কিত আউটপুট (এখানে, ) দেখতে পাবেন । আপনি এখানে আর ডাউনলোড করতে পারেন: cran.r-project.org/irferences.html
ফ্লডেল

1

সি, 85 অক্ষর

main(int j,char**p){puts("C\0A\0B\0no one"+((**++p&1)*2+(**++p&1)^(**++p&1?0:3))*2);}

আমার রুবির উত্তরের মতো সংক্ষিপ্ত নয় তবে mainক্রুফটটি বিবেচনা করে আমি এতে খুশি ।


1

মাছ - 41

:&+2%2*$&+2%+:"@"+!;$!o :?#"eno on"!;ooo<

ফায়ারফ্লাইয়ের বেফুনজ উত্তরটি চুরি করে এটিকে মাছের পোর্ট করা হয়েছে কারণ ফিশে রেজিস্টারগুলি আমাদের কিছু অক্ষর শেভ করতে দেয়। অপারেটর যদিও অনুভূমিক না থাকায় কয়েকটি অক্ষর হারিয়েছেন।

এটি আর্গুমেন্টের মাধ্যমে পরামিতি নেয়।

python fish.py evenodd.fish -v 2 2 2  
no one
python fish.py evenodd.fish -v 2 3 2  
B
python fish.py evenodd.fish -v 2 3 3  
A
python fish.py evenodd.fish -v 3 3 4  
C

ওউওউউউ সুন্দর!
এফ। হাউরি 16

এইচএম, ফিশ হু আপনার কি ট্রামপোলিন আছে? যদি তাই হয় তবে আপনি #@...<চারটি সঞ্চয় করতে শেষে (সমতুল্য) ব্যবহার করতে পারেন । ওহ, এবং আপনার বর্তমান কোডটি আমার কাছে 42 টি বর্ণের মতো মনে হচ্ছে, তাই আপনার হ্রাসের পরিমাণটি হ্রাস পেয়েছে। :)
ফায়ার ফ্লাই

@ ফায়ারফ্লাই ধন্যবাদ! এটি একটি চর সংরক্ষণ করেছিল, এবং আপনি ঠিক বলেছেন, আমি একজনের চেয়ে বেশি গুনেছিলাম। আমার পাঠ্য সম্পাদক শেষে "কল 43" বলেছিলেন। তবে অবশ্যই, একটি খালি লাইনে কার্সারটি "কল 1" বলে।
ক্রંચার

1

স্মার্টটাক, 128 টি অক্ষর

[:c|o:=c collect:[:e|e odd].k:=o collect:[:e|o occurrencesOf:e].u:=k indexOf:1.^(u>0)ifTrue:[#($a $b $c)at:u]ifFalse:['no one']]

value:একটি সংগ্রহ সঙ্গে প্রেরণ


1

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

ফায়ারফ্লাইয়ের উত্তর অনুসারে সত্য সারণী ব্যবহার করে তবে অক্ষর অ্যাক্সেসে আরও সরাসরি পন্থা নেয়:

f=(a,b,c)=>'CBAABC'[(a%2*4+b%2*2+c%2)-1]||'no one' // JavaScript
f=(a,b,c)->'CBAABC'[(a%2*4+b%2*2+c%2)-1]||'no one'  # CoffeeScript

ডেমো

// Translated into ES5 for browser compatibility
f=function(a,b,c){return'CBAABC'[(a%2*4+b%2*2+c%2)-1]||'no one'}

//f=(a,b,c)=>'CBAABC'[(a%2*4+b%2*2+c%2)-1]||'no one'

for(i=6;i--;)
  for(j=6;j--;)
    for(k=6;k--;)
      O.innerHTML += i + ', ' + j + ', ' + k + ' => ' + f(i,j,k) + "\n"
<pre id=O></pre>




0

দুটি ভিন্ন ভাষায় দুটি ভিন্ন পদ্ধতি + প্রকরণ -> 6 টি উত্তর

এই অপারেশনের জন্য মূলত 2 টি উপায় রয়েছে:

  • array ভিত্তিক: একটি অ্যারের থেকে উত্তর না নেওয়ার চেয়ে 3 অঙ্কের বাইনারি সংখ্যা তৈরি করুন
  • count ভিত্তিক: সমান এবং বিজোড় গণনা করুন এবং দেখুন যদি একটি আছে count == 1

পার্ল 71 (অ্যারে ভিত্তিক + প্রকরণ)

s/(.)\s*/$1&1/eg;$==oct"0b".$_;$==$=>3?7-$=:$=;say$=?chr 68-$=:"no one"

এক আমার সবচেয়ে কম Perl:

  • s/(.)\s*/$1&1/eg;মত একটি স্ট্রিং রুপান্তর 1 2 3মধ্যে101
  • $==oct"0b".$_; বাইনারিকে আটকে রূপান্তর করুন (8 বছরের কম বয়সী ডেস্কের মতো)
  • $==$=>3?7-$=:$=;যদি > 3oper 7-। (সেখান থেকে no one== 0)
  • say$=?chr 68-$=:"no one"যদি না হয় তবে 0মান থেকে চরটি মুদ্রণ করুন, অন্যথায় মুদ্রণ করুন no one

পার্ল 71 (অ্যারে ভিত্তিক)

s/(.)\s*/$1&1/eg;$==oct"0b".$_;say@{["no one",qw{A B C}]}[$=>3?7-$=:$=]

মুদ্রণ ধাপে কিছুটা আলাদা: আউটপুট একটি 'অ্যারে' এর উপর ভিত্তি করে

পার্ল ৮১ (ভিত্তিতে গণনা)

$c=A;map{$a[$_%2]=$c++;$b[$_%2]++}split;say$b[0]==1?$a[0]:$b[0]==2?$a[1]:"no one"

বিভিন্ন অর্থ:

  • $c=Aসাথে একটি কাউন্টার সি শুরু করুন A
  • map{$a[$_%2]=$c++;$b[$_%2]++}splitকাউন্টার বি সমান এবং বিজোড় গণনা, একটি শুধুমাত্র স্টোর যা এক
  • say$b[0]==1?$a[0]:এমনকি যদি কাউন্টার == 1? এমনকি প্লেয়ার এমনকি মুদ্রণ ।
  • $b[0]==2?$a[1]:এমনকি যদি কাউন্টার == 2? বিজোড় প্লেয়ার প্রিন্ট করুন ।
  • :"no one"অন্য মুদ্রণ no one

85 বাশ (অ্যারে ভিত্তিক)

c=$((($1%2)<<2|($2&1)*2+($3%2)));((c>3))&&c=$((7-c));o=("no one" C B A);echo ${o[c]}

এটি আমার দ্বিতীয় পার্ল সংস্করণের উপর ভিত্তি করে:

  • c=$((($1%2)<<2|($2&1)*2+($3%2))) সূচক পোস্ট করুন।
    • $ 1% 2 ব্যবহার করে বাইনারিতে প্রথম আরগকে রূপান্তর করুন mod
    • Inary 2 এবং 1 ব্যবহার করে বাইনারিতে দ্বিতীয় আর্গ রূপান্তর and
    • << 2 শিফট-থেকে-বামে সমান*4
    • * 2 এর সাথে 2 দিয়ে গুণ করা একই <<1
  • ((c>3))&&c=$((7-c)) যদি সি> = 4 তবে সি = 7-সি।
  • o=() একটি অ্যারে ঘোষণা করুন
  • echo ${o[c]} অ্যারের উপর ভিত্তি করে

133 বাশ (গণনা ভিত্তিক)

a[$1&1]=A;a[$2&1]=B;a[$3&1]=C;((b[$1&1]++));((b[$2&1]++));((b[$3&1]++))
case $b in 1)echo ${a[0]};;2)echo ${a[1]};;*)echo no one;esac
  • a[$1&1]=A;a[$2&1]=B;a[$3&1]=Cভেরিয়েবল এ [এমনকি] এবং একটি [বিজোড়] স্টোর প্লেয়ার
  • ((b[$1&1]++));((b[$2&1]++));((b[$3&1]++))সমান / বিজোড় গণনা খ।
  • case $b in 1) echo ${a[0]} এমনকি কাউন্টার ক্ষেত্রে == 1 এমনকি প্লেয়ার মুদ্রণ করুন
  • 2)echo ${a[1]};; কেস এমনকি কাউন্টার == 2 মুদ্রণ বিজোড় প্লেয়ার
  • *)echo no one;esacঅন্য মুদ্রণ no one

133 বাশ (গণনা ভিত্তিক)

a[$1&1]=A;a[$2&1]=B;a[$3&1]=C;((b[$1&1]++));((b[$2&1]++));((b[$3&1]++))
((b==1))&&echo ${a[0]}||(((b==2))&&echo ${a[1]}||echo no one)

এর পরিবর্তে বাশের শর্ত এবং কমান্ড গ্রুপ ব্যবহার করে একই সংস্করণ case ... esac


0

গেম মেকার ল্যাঙ্গুয়েজ, 116

আমার নতুন উত্তরটি ফায়ারফ্লাইয়ের সূত্রে খুব বেশি নির্ভর করে:

a[1]="no one"a[2]='A'a[3]='B'a[4]='C'return a[(3-min(b=argument0 mod 2*4+argument1 mod 2*2+argument2 mod 2,7-b)||1)]

পুরাতন 0, যেমন uninitialized ভেরিয়েবল সঙ্গে কম্পাইল কোড 183 অক্ষর:

a=argument0 mod 2b=argument1 mod 2c=argument2 mod 2if((a&&b&&c)||(!a&&!b&&!c))return "no one" else{if((a&&b)||(!a&&!b))return "C" else{if((a&&c)||(!a&&!c))return "B" else return "A"}}

সম্পাদনা # 1 - সম্পূর্ণ ভিন্ন কোড


মজাদার!? আমি এই ভাষা আগে জানতাম না! তবে এই ভাষাটি অ্যারের ব্যবহারের অনুমতি দেয় বলে এই কোডটি এই কাজের জন্য সবচেয়ে ছোটতম বলে মনে হচ্ছে না।
এফ। হাউরি

@ এফ.হৌরি হ্যাঁ, আমি এটিটি আরও ছোট করার জন্য অ্যারে ব্যবহার করার চেষ্টা করছি।
টিমটেক

0

ক্লোজার, 116

(fn[& h](let[a(map #(bit-and % 1)h)](["no one"\A\B\C](+(.indexOf(map(fn[x](reduce +(map #(if(= x %)1 0)a)))a)1)1))))

0

ভিবিএ, 116

Function z(q,r,s)
a="A":b="B":c="C":d="no one"
z=Array(d,c,b,a,a,b,c,d)((q And 1)*4+(r And 1)*2+(s And 1))
End Function

সাথে ?z(1,2,3)একটি ভেরিয়েবলের সাথে কল করুন বা বরাদ্দ করুন q=z(1,2,3), এমনকি এক্সেলের মধ্যে কোনও ইউডিএফ হিসাবে ব্যবহার করুন =z(1,2,3)এবং আপনার এক্সেল সূত্রে ব্যবহার করুন


0

পাইথন 3, 80 টি অক্ষর

r=int(input().replace(' ',''),2)
print(['no one','C','B','A'][7-r if r>3 else r])

দ্রষ্টব্য: ইনপুট অবশ্যই '1' [বিজোড়] বা '0' [এমনকি] হওয়া আবশ্যক। উদাহরণ স্বরূপ:

> 1 1 0
C
> 1 1 1
no one

চ্যালেঞ্জটির জন্য ইনপুটটিকে "স্পেস দ্বারা পৃথক" করা দরকার। সম্ভবত কার্যকরভাবে গল্ফ করার একটি উপায় রয়েছে splitএবং joinতাই আপনি এখনও আপনার (খুব স্মার্ট) int(...input...)ধারণাটি ব্যবহার করতে পারেন । ?
ড্যারেন স্টোন

আপনি '0b'+আমার মনে হয় অপসারণ করতে পারেন , কমপক্ষে এটি আমার কাছে অপ্রয়োজনীয় দেখায়, এবং int(input(),2)মনে হয় কেবল একটি আরপিএল-তে কাজ করে।
ফায়ার ফ্লাই

@DarrenStone আমি একটি স্ট্রিং পরিবর্তে প্রতিস্থাপন ব্যবহৃত, সম্পাদনা দেখুন
ধারা

@ ফায়ারফ্লাই ধন্যবাদ, আপনি ঠিক বলেছেন, আমি আমার উত্তর সম্পাদনা করেছি। আমি পাইথন 2 দিয়ে প্রথমে কোডটি পরীক্ষা করেছিলাম, যেখানে '0 বি' দরকার ছিল।
ধারা

চ্যালেঞ্জটি 0 থেকে 5 পর্যন্ত সংখ্যা গ্রহণ করার জন্য ইনপুটও প্রয়োজন
পিটার টেলর

0

জাভা, 226 অক্ষর

void func(int a, int b, int c){
    a = a%2;
    b = b%2;
    c = c%2;
    String out = "B";
    if((a+b+c)==0 || (a+b+c)==3)
        out = "no one";
    else if(a==b)
        out = "C";
    else if(b==c)
        out = "A";
    System.out.println(out);
}

0

সি 101 96

সি, সম্ভবত সবচেয়ে তুচ্ছ উদাহরণ (কিছু ত্রৈমাসিক ক্রিয়াকলাপ):

main(int v,char** c){(v=c[1]==c[2]?c[1]==c[3]?0:3:c[1]==c[3]?2:1)?puts("no one"):putchar(v+64);}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.