এটি কি একটি বিজোড় শব্দ?


29

চ্যালেঞ্জ

ইনপুট হিসাবে একটি শব্দ দেওয়া, শব্দটি বিজোড় বা এমনকি কিনা তা নির্ধারণ করুন।

বিজোড় এবং এমনকি শব্দ

সাধারণ নিয়মগুলি ধরে নিন:

odd + odd = even
even + odd = odd
odd + even = odd
even + even = even

বর্ণমালায়, বিজোড় অক্ষরগুলি হ'ল:

aeiou

এবং এমনকি চিঠিগুলি হ'ল:

bcdfghjklmnpqrstvwxyz

একই হ'ল মূল অক্ষরের ক্ষেত্রেও ( AEIOUবিজোড় এবং সমান BCDFGHJKLMNPQRSTVWXYZহয়))

তারপরে আপনি শব্দটির প্রতিটি অক্ষর একসাথে 'যুক্ত' করতে পারেন। উদাহরণস্বরূপ, শব্দটি catsসমান:

even + odd + even + even

যা এটিকে সরল করে:

odd + even

যা আরও সরল করে:

odd

শব্দটি catsবিজোড়।

উদাহরণ

Input:  trees
Output: even

Input:  brush
Output: odd

Input:  CAts
Output: odd

Input:  Savoie
Output: even

Input:  rhythm
Output: even

বিধি

সমস্ত ইনপুট একক শব্দ হবে যা কেবল বর্ণানুক্রমিক অক্ষর সহ থাকবে।

শব্দটি বিজোড় হলে সত্যবাদী মানটি নির্ধারণ করুন। শব্দটি সমান হলে, একটি মিথ্যা মান আউটপুট করুন।

জয়লাভ

বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।


1
আপনি কোনও বিজোড় অক্ষর ছাড়াই কোনও শব্দের উদাহরণ যুক্ত করতে পারেন?
হেডি

@ হেইদী আমি একটি যোগ করেছি, ছন্দ
বিটা

7
প্রাক্তন আপনি cused । বিজোড় শব্দ already ইতিমধ্যে জেএলির দ্বারা ট্রেডমার্ক হয়েছে। এটি শব্দটির একটি অননুমোদিত ব্যবহার। : পি
দেউসোভি

2
এটি খাঁটি রেজেক্স জমা দেওয়ার জন্য ভিক্ষা করছে
রোহান ঝুনঝুনওয়ালা

2
ইনপুটটি কি কেবল বর্ণানুক্রমিক অক্ষর ধারণ করার গ্যারান্টিযুক্ত?
ডিজেএমসিএমহেম

উত্তর:



18

এক্সেল, by৯ বাইট:

=MOD(SUMPRODUCT(LEN(A1)-LEN(SUBSTITUTE(LOWER(A1),{"a","e","i","o","u"},""))),2)

ইনপুট:
এই ফাংশনটি যে কোনও জায়গায় রাখা যেতে পারে ছাড়ুন এ 1
আপনার প্রশ্নটিকে প্রশ্নবিদ্ধ করুন এ 1 তে।

আউটপুট: 0 এমনকি যদি, 1 বিজোড় হয়।


13

জাভাস্ক্রিপ্ট (ES6), 34 41 33 32 বাইট

আরনাউল্ডকে ধন্যবাদ 1 বাইট সংরক্ষণ করা:

s=>~s.split(/[aeiou]/i).length&1
  • বিজোড় শব্দ: প্রত্যাবর্তন 1
  • এমনকি শব্দগুলি: প্রত্যাবর্তন 0


পূর্ববর্তী সমাধান:

33 বাইট ধন্যবাদ আর্নল্ডকে:

s=>s.split(/[aeiou]/i).length&1^1
  • বিজোড় শব্দ: প্রত্যাবর্তন 1
  • এমনকি শব্দগুলি: প্রত্যাবর্তন 0

বিটওয়াইজ অপারেটর ছাড়া অন্য উপায়:

s=>++s.split(/[aeiou]/i).length%2

৪১ বাইট:

(s,a=s.match(/[aeiou]/ig))=>a&&a.length%2
  • বিজোড় শব্দ: প্রত্যাবর্তন 1
  • এমনকি বিজোড় অক্ষরযুক্ত শব্দ: প্রত্যাবর্তন 0
  • এমনকি কোনও বিজোড় অক্ষর ছাড়াই শব্দগুলি: প্রত্যাবর্তন null

0পরিবর্তে 42 বাইট ফিরে null:

(s,a=s.match(/[aeiou]/ig))=>a?a.length%2:0

34 বাইট, কোনও বিজোড় অক্ষর ছাড়াই শব্দের বিরতি:

f=s=>s.match(/[aeiou]/ig).length%2

শন এইচকে 2 বাইট সংরক্ষণ করা হয়েছে

s=>s.match(/[aeiou]/ig).length%2

1
শব্দের স্বর না থাকলে এই পদ্ধতিটি ভেঙে যায়। এটি বলেছিল: f=দরকার নেই, এবং রেজেক্স অবজেক্টে এক্সিকিউটিং কল করা সংক্ষিপ্ত। s=>/[aeiou]/ig.exec(s).length%2
শান এইচ

পতাকা execনিয়ে আমার একই ফলাফল নেই g
হেডি

মস্তিষ্ক হ্যাঁ এটিকে উপেক্ষা করুন, এফ = এখনও প্রয়োজন নেই
শান এইচ

আপনি করতে পারেন s=>s.split(/[aeiou]/i).length&1^1?
আর্নৌল্ড

1
s=>~s.split(/[aeiou]/i).length&1আসলে এক বাইট খাটো।
Arnauld

8

মস্তিষ্ক-ফ্ল্যাক 206 196 192 178 + 3 = 181 বাইট

অনলাইনে চেষ্টা করে দেখুন!

([]<{({}[((((((()()())){}){}){}){}){}()]){({}[({}())]){({}[({})]){({}[({}()())]){({}[({})]){({}<>)(<>)}}}}}{}{}}><>[[]]<>()()){(({}[<>(())<>()()])){{}({}())((<>)<>)}{}}{}<>({}<>)  

এটি -cASCII মোডে চালানোর জন্য পতাকাটির প্রয়োজন হয় প্রোগ্রামের দৈর্ঘ্যে একটি অতিরিক্ত 3 বাইট যোগ করা।

Ungolfed

([]<
{({}[(((((()()()){}){}){}){}){}()])
 {
  ({}[()()()()])
  {
   ({}[()()()()])
   {
    ({}[(()()()){}])
    {
     ({}[(()()()){}])
     {
      ({}<>)
      (<>)
     }
    }
   }
  }
 }
 {}
}
><>[[]]<>)
(<(()()<>)>)<>{({}[()])<>(({}()[({})])){{}(<({}({}))>)}{}<>}{}<>({}<{}><>)

ব্যাখ্যা

ভবিষ্যতের উদ্দেশ্যে প্রথমে স্ট্যাকের উচ্চতা সঞ্চয় করুন

([]<...>

তারপরে যখন স্ট্যাকটি খালি নেই (ধরে নিবেন যে কোনও অক্ষর শূন্য নয়)

{...}

সাতানব্বইটি বিয়োগ করুন (এবং পরবর্তী অনুকূলিতকরণের জন্য 3 টি সঞ্চয় করুন)

({}[((((((()()())){}){}){}){}){}()])

যদি এটি শূন্য না হয় (যেমন ক)

{...}

বিয়োগ 4 (এবং পরবর্তী অপ্টিমাইজেশনের জন্য 4 স্টোর)

({}[({}())])

যদি এটি শূন্য না হয় (যেমন ই নয়)

{...}

বিয়োগ 4 (এবং পরবর্তী অপ্টিমাইজেশনের জন্য 4 স্টোর)

({}[({})])

যদি এটি শূন্য না হয় (যেমন আমি না)

{...}

বিয়োগ 6 (এবং পরবর্তী অপ্টিমাইজেশনের জন্য 6 স্টোর)

({}[({}()())])

যদি এটি শূন্য না হয় (যেমন ও নয়)

{...}

বিয়োগ 6 (6 স্টোর কারণ প্রোগ্রামটি পরে প্রত্যাশা করে)

({}[({})])

যদি এটি শূন্য না হয় (যেমন আপনি না)

{...}

বাকীটি অন্য স্ট্যাকের দিকে সরান এবং সমস্ত আইএফএস থেকে বাঁচতে সক্রিয় স্ট্যাকের উপর একটি শূন্য রাখুন

({}<>)(<>)

একবার যদি সমস্ত আই.এফ.এস. পালিয়ে যায় তবে শূন্য এবং ছয়টি সরিয়ে ফেলুন

{}{}

সমস্ত অক্ষর প্রক্রিয়া করা হয়ে গেলে মূল সঞ্চিত উচ্চতা থেকে অফসটের উচ্চতা বিয়োগ করে।

...<>[[]]<>)

দু'জনে মোড

{(({}[<>(())<>()()])){{}({}())((<>)<>)}{}}{}<>({}<>) 

আমি মনে করি -cযেহেতু পার্ল উত্তরটি কেবল 1 বাইট / পতাকা যুক্ত করে কেবলমাত্র +1 বাইট।
থ্রিএফএক্স

1
@ থ্রিএফএক্স কারণ perl -pe'code'এটি কেবলমাত্র একটি বাইটের চেয়ে দীর্ঘ perl -e'code'
ডেনিস

8

সি, 42 বাইট

f(char*s){return*s&&2130466>>*s&1^f(s+1);}

এটি একটি এক্স 86-64 সিপিইউতে জিসিসি 4.x এর সাথে কাজ করে। বিভিন্ন সেটআপের সাথে ফলাফলগুলি পৃথক হতে পারে।

এটি repl.it পরীক্ষা করুন ।

আরও 5 টি বাইটের ব্যয়ে, অপরিজ্ঞাত আচরণ এড়ানো যায়, সুতরাং ইনট এস কমপক্ষে 32 বিট প্রশস্ত হওয়া পর্যন্ত কোডটি কাজ করা উচিত ।

f(char*s){return*s&&2130466>>(*s&31)&1^f(s+1);}

কিভাবে এটা কাজ করে

মডুলো 32 , সমস্ত বিজোড় অক্ষরের অক্ষর কোডগুলি 1 , 5 , 9 , 15 এবং 21 হয়2130466 হ'ল 32-বিট পূর্ণসংখ্যা যা এই অবস্থানগুলিতে বিট সেট করেছে এবং অন্য সকলকে বিট আনসেট করেছে।

যখন স্ট্রিংয়ে এফ বলা হয়, তখন স্ট্রিংয়ের প্রথম অক্ষরটি নাল বাইট (স্ট্রিং টার্মিনেটর) হয় কিনা তা এটি প্রথম পরীক্ষা করে। যদি তা না হয়, *sউৎপাদ 0 এবং রিটার্ন 0 । অন্যথায়, *sএকটি বর্ণের অক্ষর কোডটি উত্পন্ন করুন এবং লজিকাল AND ( &&) এর সঠিক যুক্তি কার্যকর করা হবে।

কারণ >>, জিসি একটি শিফট নির্দেশ জেনারেট করে। একটি x86-64 সিপিইউতে, 32-বিট পূর্ণসংখ্যার জন্য সংশ্লিষ্ট নির্দেশটি সঠিক যুক্তির নিম্ন 5 টি বিট ব্যতীত সমস্ত উপেক্ষা করে, যা *sমডুলো 32 হ্রাস এড়ায় । ডান শিফ্ট ও নিম্নলিখিত, bitwise এবং 1 নির্যাস বিট 2130466 যে চিঠি, যা হতে হবে সাথে সঙ্গতিপূর্ণ 1 যদি এবং কেবল যদি চিঠি বিজোড় হয়।

পরবর্তীতে আমরা পয়েন্টার বাড়ায় গুলি (কার্যকরভাবে প্রথম চিঠি খারিজ), কল শিরশ্ছেদ স্ট্রিং উপর যাও recursively, এবং উপরে থেকে ফলাফল, bitwise XOR যাও এবং recursive কল ফল নিতে।


বিট বুদ্ধিমান কাজ!
কীউ গান

আইরিউন 0 আইডিয়নে ফিরে, এটা কি ঠিক?
রোজলুপ

@ রোসলুপ না, এটি সঠিক নয়। এটি আমার কম্পিউটারে এবং repl.it এ কাজ করে যদিও (সম্ভবত জিসিসির সংস্করণটি বেশ আলাদা)।
ডেনিস

হ্যাঁ, এটি অবশ্যই সংকলক। ঝাঁকুনি ৩. With সহ এটি আইডিয়নেও কাজ করে
ডেনিস

7

সেড 44 (42 -1 for -n) 43

-1 ধন্যবাদ নীলকে

s/[aeiou][^aeiou]*[aeiou]//gi
/[aeiou]/Ico

oবিজোড় এবং এমনকি কিছু জন্য প্রিন্ট


s/[aeiou][^aeiou]*[aeiou]//giযদি আমি সঠিকভাবে গণনা করি তবে আপনাকে একটি বাইট সংরক্ষণ করতে পারে।
নিল

নিল ইয়েপ! আমার ইচ্ছা সেড অ লোভী অনুসন্ধান করতে পারত।
রিলে


6

পাইথন, 42 বাইট

lambda s:sum(c in"aeiouAEIOU"for c in s)%2

এখানে পুরো ব্যাখ্যা দেওয়ার মতো নয়। একটি নামবিহীন ফাংশন যা 0 বা 1 প্রদান করে।


6

ব্রেন-ফ্লাক , 524, 446 , 422 বাইট

{(<((((()()()()){}){}){}<>)>)<>{({}[()])<>(({}[({})]())){{}(<({}({}))>)}{}<>}{}<>([(((({}<{}<>>))))]()){(<{}>)<>({}[()])<>}<>({}())<>{}([{}]()()()()()){(<{}>)<>({}[()])<>}<>({}())<>{}(((()()())){}{}[{}]){(<{}>)<>({}[()])<>}<>({}())<>{}(((()()()()())){}{}[{}]){(<{}>)<>({}[()])<>}<>({}())<>{}((((()()()){}())){}{}[{}]){(<{}>)<>({}[()])<>}<>({}())<>{}}(<(()())>)<>{({}[()])<>(({}[({})]())){{}(<({}({}))>)}{}<>}{}<>({}<{}<>>)

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

অবহেলিত, আরও পঠনযোগ্য সংস্করণ:

{((((()()()()){}){}){})(<({}<>)>)<>{({}[()])<>(({}()[({})])){{}(<({}({}))>)}{}<>}{}<>({}<{}><>)((((({})))))
(())
({}[{}]){(<{}>)<>({}[()])<>}<>({}())<>{}
(()()()()())
({}[{}]){(<{}>)<>({}[()])<>}<>({}())<>{}
(()()()()()()()()())
({}[{}]){(<{}>)<>({}[()])<>}<>({}())<>{}
(()()()()()()()()()()()()()()())
({}[{}]){(<{}>)<>({}[()])<>}<>({}())<>{}
(()()()()()()()()()()()()()()()()()()()()())
({}[{}])
{(<{}>)<>({}[()])<>}<>({}())<>{}}<>(()())(<({}<>)>)<>{({}[()])<>(({}()[({})])){{}(<({}({}))>)}{}<>}{}<>({}<{}><>){{}([()])
(<><>)}({}{}())

অবহেলিত সংস্করণটি কাজ করছে বলে মনে হচ্ছে না (মন্তব্যে টিআইও লিঙ্কটি ফিট করতে পারে না; _;)
গম উইজার্ড

6
"আরও পঠনযোগ্য" 'নাফ বলেছেন
রোহান ঝুনঝুনওয়ালা

6

জেলি , 13 12 11 বাইট

-১ বাইট @ লুইস মেন্ডোকে ( প্রতিস্থাপনের জন্য ব্যবহার করুন %2)
ধন্যবাদ -১ ডেনিসকে -১ বাইট ধন্যবাদ (একটি স্ট্রিং সংক্ষেপণ ব্যবহার করুন)

Œlf“¡ẎṢɱ»LḂ

সমস্ত পরীক্ষার কেস ট্রাইআইটঅনলাইনে রয়েছে

কিভাবে?

Œlf“¡ẎṢɱ»LḂ - Main link takes an argument - s
Œl          - lowercase(s)
   “¡ẎṢɱ»   - string of lowercase vowels (compression using the words a and eoui)
  f         - filter - keep only the vowels
         L  - length - the number of vowels
          Ḃ - Bit (modulo 2)

অ-প্রতিযোগিতামূলক, 5 বাইট (যেহেতু আমি সবেমাত্র ফাংশনটি যুক্ত করেছি Øc)

fØcLḂ

ট্রাইআইটঅনলাইনেও পরীক্ষার কেসগুলি

উপরের মতো একই, তবে Øcলাতিন বর্ণমালার স্বরগুলিও পাওয়া যায়,'AEIOUaeiou'


1
আমার মনে হয় আপনি প্রতিস্থাপন করতে পারেন %2দ্বারা
লুইস Mendo

7
ইউওই হ'ল প্রাচীন বাচ্চিক রিভেল-মুগ্ধতা বর্ষণ করার আহবান , সুতরাং আপনি অভিধানটি ব্যবহার করতে পারেন এবং স্বরগুলি যেমন পান তেমন পেতে পারেন “¡ẎṢɱ»
ডেনিস

@ ডেনিস - অবশ্যই LOL!
জোনাথন অ্যালান

2
@ ডেনিস কীভাবে কাজ করে? দৈত্য অভিধানে কোনও শব্দের সূচক পাওয়া কি কেবল বেস-কম্প্রেশন হয়? 'ক' কোথা থেকে আসে?
ডিজেএমসিএমহেম

2
@ ডিজেএমসিএমহেম এটি একটি অভিধান (যা আমি বিশ্বাস করি যে ডেনিসের কম্পিউটার থেকে সবেমাত্র নেওয়া হয়েছিল) একটি সংক্ষিপ্ত (char চরের কম) এবং দীর্ঘ শব্দের মধ্যে পৃথকীকরণ সহ 250 টি সংক্ষেপে একটি বেস ব্যবহার করে । সংক্ষিপ্ত স্ট্রিংগুলি তৈরি করার প্রক্রিয়াটি স্বয়ংক্রিয় করার জন্য কিছু কোড লিন লিখেছিলেন। অব্যবহৃত 6 বাইট “”«»‘’হ'ল জেলির স্ট্রিং শনাক্তকরণের অক্ষর ( এমনটি রয়েছে যা একটি দ্বি-চর স্ট্রিংয়ের জন্য, তবে এটি সংকীর্ণ স্ট্রিংগুলির মধ্যে ব্যবহৃত হয়)।
জোনাথন অ্যালান

6

হাস্কেল, 38 37 বাইট

odd.length.filter(`elem`"aeiouAEIOU")

অ্যাঙ্গসকে একটি বাইটের জন্য ধন্যবাদ!


বিজোড় জন্য সত্যবাদী, সুতরাং আপনি oddপরিবর্তে ব্যবহার করতে হবে even। একটি বাইট বাঁচায়!
অ্যাঙ্গস

@Angs চালাক :)
BlackCap

4

পাইথন 3, 53 বাইট

এটি সম্ভবত আরও গল্ফ করা যেতে পারে:

lambda n:[x in 'aeiou' for x in n.lower()].count(1)&1

inএবং এর মধ্যে স্পেসগুলি সরিয়ে ফেলুন 'aeiou'এবং 8 টি বাইট সংরক্ষণ করতে forব্যবহার করুন sum: lambda n:sum(x in'aeiou'for x in n.lower())&1(যদিও আপনি দশ জনের দশটি স্বর ব্যবহার করে ডিজেএমসিএমহেমের পোস্টটিও খাটো)
জোনাথন অ্যালান

1
টিপস জন্য ধন্যবাদ! আমি পোস্ট করার পরে কিছুটা অতিরিক্ত স্পেস লক্ষ্য করেছি, তবে সমস্ত সততার সাথে, @ ডিজেএমসিমেহেম এবং আমি পাইথন সমাধানের জন্য তার সেরা সংস্করণ হিসাবে কল্পনা করতে পারি তার সেরা সংস্করণ হিসাবে আমি অভিন্ন পন্থা পেয়েছি। আমি sum()এই গল্ফের আগে কমান্ড সম্পর্কে জানতাম না তাই আবার আমি কিছু শিখলাম! আপনার দিনটি
এল। স্টিয়ার

4

জাভা, 73

boolean f(String s){return s.replaceAll("(?i)[^aeiou]","").length()%2>0;}

দু'জন জাভা উত্তর দেখেছিল, অন্যথায় ভাগ করে নেওয়া হত না। একটি বাইট সংরক্ষণ করার জন্য Phaeze ধন্যবাদ।


1
আমি মনে করি আপনি%2>0
বেলা বাজেট

4

সি 52 বাইট

h(o){o=strpbrk(o,"aeiouAEIOU");return o?1^h(o+1):0;}

প্রধান এবং ফলাফল:

main()
{int   k;
 char *a[]={"trees","brush","CAts","Savoie","rhythm", 0};

 for(k=0;a[k];++k)
     printf("[%s]=%s\n", a[k], h(a[k])?"odd":"even");
}

/*
91
[trees]=even
[brush]=odd
[CAts]=odd
[Savoie]=even
[rhythm]=even

*/

আমি পয়েন্টার হিসাবে ইন্টি ব্যবহার করার চেষ্টা করি তবে এটি সংকলিত হয় না যেখানে ইন্রিশনেশন ব্যবহার করা হয় ... ... এখানে প্রথমে মুদ্রিত সমাধানটি ভুল ছিল ...
রোজলুপ

h(o){return~-o?1^h(1+strpbrk(o,"aeiouAEIOU")):1;}3 বাইট সঞ্চয়
ডেনিস

s; h (o) {s = ~ -o? 1 ^ h (1 + strpbrk (o, "aeiouAEIOU")): 1; the ফলাফলটি বিশ্বব্যাপী ভেরিয়েবল এ ...
রোজলুপ

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

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



3

ভিম, 32, 31 , 29 কীস্ট্রোক

:s/[^aeiou]//gi
C<C-r>=len(@")%2<cr>

যেহেতু ভি ইন্টারপ্রেটার পিছনের দিকে সামঞ্জস্যপূর্ণ তাই আপনি এটি অনলাইনে চেষ্টা করতে পারেন ! এখানেই.

এম-ক্রজানকে ধন্যবাদ ওয়ান থ্রি বাইটস!


1
আপনি কি এর s/.../giপরিবর্তে করতে পারেন s/\c.../g?
এম-ক্রিজান

@ এম-ক্রজান ওহো, দুর্দান্ত টিপ। ধন্যবাদ!
ডিজেএমসিএমহেম

এছাড়াও, '<C-r>"'-> @"
এম-ক্রাজান

1
আমি প্রায় @"15 মিনিট আগে খুঁজে পেয়েছি । আমার কাছে সেরা ভিএম টিপটি হ'ল ব্যবহার :help fooএবং /ডকুমেন্টেশন: পি।
এম-ক্র্যাজান

2
আচ্ছা, যেহেতু আমরা গল্ফের কথা বলছি, :h fooতত কম। : পি
ডিজেএমসিএমহেম

3

জাভা 7, 88

boolean f(char[]s){int x=0;for(char c:s)if("aeiouAEIOU".indexOf(c)>=0)++x;return x%2>0;}

Ungolfed:

  boolean f(char[] s) {
    int x = 0;
    for (char c : s) {
      if ("aeiouAEIOU".indexOf(c) >= 0) {
        ++x;
      }
    }
    return x % 2 > 0;
  }

3

ডিমিউইট , 14 বাইট (প্রতিদ্বন্দ্বী)

ar[aeiou]}et}T

আমি ভেবেছিলাম নতুন ভাষার জন্য এটি মজাদার, সহজ চ্যালেঞ্জ।

ব্যাখ্যা

  • a - ম্যাট্রিক্সে একটি নতুন অ্যারে চাপুন
  • r[aeiou]} - প্রথম অ্যারেতে রেজেক্স "[আইইউ]" এর সাথে মিলে যাওয়া সমস্ত মানগুলির উপস্থিতি গণনা করুন (যেহেতু প্রথম অ্যারেতে ইনপুট রয়েছে), কেসটিকে উপেক্ষা করে এবং সেই মানটি শেষ অ্যারের শেষের দিকে ধাক্কা।
  • e - যদি শেষ অ্যারেতে শেষ সংখ্যাটি সমান হয় (যা আমরা সংখ্যার সংখ্যায় সেট করেছি), একটি বন্ধনী বন্ধনী ("}") অবধি পরবর্তী ক্রিয়াকলাপগুলি সম্পাদন করুন
  • t - কার্যকর করা বন্ধ করুন, ম্যাট্রিক্স সাফ করুন এবং প্রথম মানটি মিথ্যা হিসাবে সেট করুন
  • }- eকোড ব্লকের সমাপ্তি
  • T - কার্যকর করা বন্ধ করুন, ম্যাট্রিক্স সাফ করুন, এবং প্রথম মানটি সত্য হতে সেট করুন

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

শব্দটি প্রবেশ করতে ইনপুট ক্ষেত্রটি ব্যবহার করুন।

আমি শীঘ্রই ডকুমেন্টেশন যুক্ত করব ...


2

পাওয়ারশেল ভি 2 + 45 42 বাইট

($args[0]-replace'[^aeiouAEIOU]').Length%2

ইনপুট নেয় $args[0], -replaceসমস্ত অ-স্বরযুক্ত অক্ষর মুছে ফেলার জন্য এটি প্রেরণ করে , ফলাফলটি গ্রহণ করে .lengthএবং %2এটি বিজোড় / এমনকি কিনা তা পরীক্ষা করে।

উদাহরণ

PS C:\Tools\Scripts\golfing> 'trees','brush','CAts','Savoie','rhythm'|%{"$_ --> "+(.\is-it-an-odd-word.ps1 $_)}
trees --> 0
brush --> 1
CAts --> 1
Savoie --> 0
rhythm --> 0

2

জে, 20 বাইট

2|+/@e.&'aeiouAEOIU'

সোজা-এগিয়ে পদ্ধতির

ব্যাখ্যা

2|+/@e.&'aeiouAEOIU'  Input: string S
     e.&'aeiouAEOIU'  Test each char in S for membership in 'aeiouAEOIU'
  +/@                 Sum those values
2|                    Take it modulo 2 and return

হাহা, আমি এর চেয়ে 1 বাইট বেশি লম্বা একটি জে উত্তর পোস্ট করেছি (এখন মুছে ফেলা)। সুন্দর কাজ!
কনর ও'ব্রায়েন

"ইনপুট নিন" এর আদেশ কই?
RosLuP

@ রোসলুপি এটি একটি ক্রিয়া (ফাংশন) যা ইনপুট হিসাবে একক যুক্তি নেয়। জে ট্যাসিট প্রোগ্রামিং ব্যবহার করে যাতে কমান্ডগুলি এক সাথে জড়িত থাকে এবং মানগুলি স্পষ্টভাবে পাস করে
মাইল

2

জাপট, 7 বাইট

1&Uè"%v

এটি অনলাইন পরীক্ষা! বিজোড়ের জন্য আউটপুট 1, এমনকি 0 এর জন্য।

কিভাবে এটা কাজ করে

         // Implicit: U = input string
  Uè     // Count the number of matches of the following regex in the input:
    "%v  //   /[AEIOUaeiou]/g
1&       // Take only the first bit (convert 1, 3, 5, etc. to 1, and others to 0)
         // Implicit output

2

অক্টাভা, 34 বাইট

@(s)mod(nnz(~(s'-'aeiouAEIOU')),2)


s'-'aeiouAEIOU'    % Creates a 2D-matrix where each of the odd letters are 
                   % subtracted from the string s
~(s'-'aeiouAEIOU') % Negates that array, so the all zero elements become 1
nnz( .... )        % Counts all the non-zero elements (the odd letters)
mod(nnz( ....),2   % Takes this sum modulus 2

এই ব্যবহার 6 বাইট ঐতিহ্যগত পদ্ধতির তুলনায় খাটো ismember, @(s)mod(sum(ismember(s,'aeiouAEIOU')),2)এবং দুটি Regex পদ্ধতির চেয়ে খাটো বাইট: @(s)mod(nnz(regexpi(s,'[aeiou]')),2)

এটি এখানে পরীক্ষা করুন


2

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

<?=count(spliti("[aeiou]",$argv[1]))%2-1;

এই ফলাফল আউটপুট সত্য এবং 1 টি মিথ্যা জন্য।




2

সি # 64 62 56 50 বাইট

s=>1>s.Split("aeiouAEIOU".ToCharArray()).Length%2;
  • আমরা ইতিমধ্যে লিনাক ব্যবহার করছি, সুতরাং ইনডেক্সফের চেয়ে 2 বাইট সংরক্ষণ করে
  • গণনার ওভারলোডের পদ্ধতিটি ব্যবহার করে 6 বাইট সাশ্রয় হয়
  • একটি ঝরঝরে পদ্ধতি পরামর্শ দেওয়ার জন্য এবং আরও 6 টি বাইট সংরক্ষণ করার জন্য @ মিল্ককে ধন্যবাদ

একটি বেনাম ফাংশন যা একটি স্ট্রিং নেয় এবং বিজোড় অক্ষর গণনা করে তার মধ্যে যদি একটি বিজোড় সংখ্যা থাকে বা সত্য না থাকে তবে সত্যটি প্রত্যাবর্তন করে।

এই নতুন সমাধানটি প্রদত্ত চর অ্যারেতে যে কোনও একটি অক্ষরে স্ট্রিংকে বিভক্ত করে। এইটির যান্ত্রিকগুলি ফলাফলটির অর্থটি ফ্লিপ করে %2; 0 এখন বিজোড় এবং 1 এমনকি তাই 1>

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


string.Split()স্বরগুলি গণনা করার জন্য এটি কেবল 50 বাইট ব্যবহার করা উচিত এবং আপনার লিনকুইয়ের দরকার নেই। s=>1>s.Split("aeiouAEIOU".ToCharArray()).Length%2;
দুধ

@ মিল্ক তার জন্য ধন্যবাদ, খুব ঝরঝরে সমাধান।
জাস্টিনএম - মনিকা

1

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

Mi`[aeiou]
[13579]$

এটি অনলাইন চেষ্টা করুন! (প্রথম লাইন একটি লাইনফিড-বিচ্ছিন্ন পরীক্ষা স্যুট সক্ষম করে))

প্রথম লাইন ইনপুটটিতে স্বর গণনা করে। দ্বিতীয় পংক্তিতে ফলাফলটি বিজোড় রয়েছে তা পরীক্ষা করে।



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