প্রতিটি স্বরযুক্ত শব্দটি সন্ধান করুন


28

আপনার প্রোগ্রামটি অবশ্যই এই শব্দ তালিকার সমস্ত শব্দ খুঁজে বের করবে যাতে সমস্ত স্বর ( a e i o u y) রয়েছে। এটি করার সহজ উপায় আছে তবে আমি সবচেয়ে সংক্ষিপ্ত উত্তর খুঁজছি। আমি কোনও ভাষা নেব, তবে আমি বাশকে দেখতে চাই।

এখানে একটি উদাহরণ (অনেক উন্নত হতে পারে):

cat wordlist.txt | grep "a" | grep "e" | grep "i" | grep "o" | grep "u" | grep "y"

আপনার স্কোর কোড দৈর্ঘ্য।

শব্দের সমস্ত উপস্থিতি গণনা করার জন্য -5 পয়েন্ট।

সর্বনিম্ন স্কোর জয়।


11
যেমন প্রোফাইল। অনেক ছবি। খুব doge। কি দারুন.
ডুরকনব

2
17 উত্তর এবং গণনা! আমি আপনার মতো আরও প্রশ্ন সিজি, ডকিতে দেখতে চাই। প্রায়শই আমি এখানে আকর্ষণীয় কিছু দেখতে পাব, তবে একটি শালীন সমাধান তৈরি করতে বেশ কয়েক ঘন্টা সময় লাগবে না ...
কেরি সোভেলল্যান্ড

2
হ্যাঁ, তবে এটি স্বরগুলি অনুসন্ধানের জন্য উত্সর্গীকৃত কোনও ভাষা হতে পারে না।
TheDoctor

1
@ ডক্টর মুষ্টি
জেসন সি

2
যদি এটির বোনাস থাকে তবে তা কোড-গল্ফ নয়। পরিবর্তে কোড-চ্যালেঞ্জ ব্যবহার করুন।
টিম সেগুইন

উত্তর:


7

গল্ফস্ক্রিপ্ট, 20 টি অক্ষর - 5 = 15 পয়েন্ট

n%{'aeiouy'\-!},.,+`

হাওয়ার্ডের সমাধানের উপর ভিত্তি করে , তবে একটি সংক্ষিপ্ত পরীক্ষা ( \-!একটি চরকে ওভার সাশ্রয় করে &,6=), সংক্ষিপ্ত দৈর্ঘ্য-সংযোজন ( .,+= 3 অক্ষর) এবং সংক্ষিপ্ত আউটপুট ফর্ম্যাটিং ব্যবহার করে (কেউই বলেনি যে আউটপুটটিকে নতুন লাইনে আলাদা করতে হবে, সুতরাং `একটি চরকে সংরক্ষণ করবে n*)।

ইনপুট হিসাবে ছোট হাতের শব্দের তালিকাটি দেওয়া (আউটপুটটি পাঠযোগ্যতার জন্য sertedোকানো হয়েছে):

["abstemiously" "authoritatively" "behaviourally" "consequentially" "counterrevolutionary"
"disadvantageously" "educationally" "encouragingly" "eukaryotic" "evolutionarily"
"evolutionary" "exclusionary" "facetiously" "gregariously" "heterosexuality" "homosexuality"
"importunately" "inconsequentially" "instantaneously" "insurrectionary" "intravenously"
"manoeuvrability" "neurologically" "neurotically" "ostentatiously" "pertinaciously"
"precariously" "precautionary" "questionably" "revolutionary" "simultaneously"
"supersonically" "tenaciously" "uncomplimentary" "uncontroversially" "unconventionally"
"undemocratically" "unemotionally" "unequivocally" "uninformatively" "unintentionally"
"unquestionably" "unrecognisably" 43]

(গীত। প্রযুক্তিগতভাবে, চ্যালেঞ্জটি কেবল এই কোডটিকে এই নির্দিষ্ট ইনপুটটির জন্য কাজ n%{'aeiouy'\-!},`43করতে হবে বলে উল্লেখ করা হয়েছে, তবে একটি চরিত্রটি আরও ছোট হবে though তবে আমি সেই প্রতারণাকে বিবেচনা করি))


ব্যাখ্যা:

  • n% অ্যারেতে নিউলাইনগুলিতে ইনপুটটি বিভক্ত করে।
  • { }, হ'ল একটি "গ্রেপ" অপারেটর, অ্যারের প্রতিটি উপাদানগুলির জন্য বন্ধনীগুলির মধ্যে কোডটি কার্যকর করে এবং এটিগুলির জন্য যা সত্য মানের প্রত্যাবর্তন করে তা নির্বাচন করে।
    • লুপের অভ্যন্তরে, 'aeiouy'\-আক্ষরিক স্ট্রিং নেয় aeiouyএবং প্রার্থী শব্দের মধ্যে পাওয়া প্রতিটি অক্ষর এটি থেকে সরিয়ে দেয়। !তারপর কথাটি ফলে স্ট্রিং negates, ফলনশীল 1(সত্য) হলে স্ট্রিং খালি এবং 0(মিথ্যা) যদি এটা না।
  • .,+ ফিল্টার করা অ্যারের একটি অনুলিপি তৈরি করে, এতে শব্দের সংখ্যা গণনা করে এবং ফলাফলটিকে মূল অ্যারেতে যুক্ত করে।
  • শেষ `অবধি, অ্যারেরটিকে অ-বিভক্ত করে এটিকে এর সামগ্রীর স্ট্রিং উপস্থাপনায় রূপান্তরিত করে। (এটি না করে অ্যারেতে থাকা শব্দগুলি কেবল আউটপুটটিতে সংমিশ্রিত হবে, যার ফলে অপঠনযোগ্য গোলমাল হবে))

অভিনন্দন!! সবচেয়ে ছোট উত্তর !!!!
TheDoctor

অবিস্মরণীয়ভাবে এবং উত্সাহজনকভাবে সমস্ত 6 স্বর ক্রমযুক্ত word ভেবেছিলাম আমি তা আপনাদের সাথে শেয়ার করব। আমি এটি দুর্দান্ত দেখতে পেয়েছি।
dberm22

15

গল্ফস্ক্রিপ্ট, 19 টি অক্ষর

n%{'aeiouy'&,6=},n*

ব্যবহার:

golfscript vowels.gs < wordlist.txt

আউটপুট:

abstemiously
authoritatively
behaviourally
[...]
uninformatively
unintentionally
unquestionably
unrecognisably

আপনি যদি শেষে গণনা আউটপুট করতে চান তবে আপনি ব্যবহার করতে পারেন

n%{'aeiouy'&,6=},.n*n@,

যা দীর্ঘ চারটি অক্ষর।


1
আমি এটা পছন্দ করি! এটি চার অক্ষর দীর্ঘ হতে পারে, তবে এটি আপনাকে একটি -5 পিটি বোনাস দেয়
TheDoctor

11

পাইথন - 46 টি অক্ষর

filter(lambda x:set(x)>=set("AEIOUY"),open(f))

পঠনযোগ্য সংস্করণ: এটি ইতিমধ্যে বেশ পঠনযোগ্য :-)


8

এপিএল, 21 - 5 = 16

(,≢)w/⍨∧⌿'aeiouy'∘.∊w

শব্দের তালিকা হিসাবে আশা করি w। সমস্ত স্বর, এবং তাদের সংখ্যা সহ শব্দের একটি তালিকা ফেরত দেয়। Ngn apl দিয়ে পরীক্ষা করা হয়েছে । এখানে একটি উদাহরণ

ব্যাখ্যা

         'aeiouy'∘.∊w   # generate a truth table for every vowel ∊ every word
       ∧⌿               # reduce with ∧ along the rows (vowels)
    w/⍨                 # select the words that contain all the vowels
(,≢)                    # hook: append to the list its own tally

8

রুবি 38

34 সম্পাদনা করুন: এখন পর্যন্ত সেরা (@ ওআই থেকে):

a.split.select{|w|'aeiouy'.count(w)>5} 

সম্পাদনা 1: আমি কেবলমাত্র 'y' স্বরবর্ণের মধ্যে অন্তর্ভুক্ত করার জন্য জিজ্ঞাসা করা প্রশ্নটি লক্ষ্য করেছি, তাই আমি সেই অনুসারে আমার প্রশ্নটি সম্পাদনা করেছি। @ নিক যেমন তার উত্তরের মন্তব্যে উল্লেখ করেছেন, এর "aeiouy".charsচেয়ে একটি চরিত্রও কম%w[a e i o u y] , তবে আমি বৈচিত্র্যের জন্য পরবর্তী ছেড়ে দেব, যদিও আমি সুযোগটি পূর্বাভাসের কারণে দুঃস্বপ্নের ঝুঁকি নিয়েছি।

সম্পাদনা 2: উন্নতির পরামর্শ দেওয়ার জন্য @ ওআইকে ধন্যবাদ:

s.split.select{|w|'aeiouy'.delete(w)==''}

যা আমার আগে যা ছিল তা থেকে 11 টি অক্ষর বাঁচায়।

3 এবং 3 এ সম্পাদনা করুন: @ ওআই আরও কিছুটা কটাক্ষ করেছে:

s.split.select{|w|'aeiouy'.tr(w,'')==''}

তারপর

s.split.reject{|w|'aeiouy'.tr(w,'')[1]}

এবং আবার (3 বি):

a.split.select{|w|'aeiouy'.count(w)>5} 

আমি নিছক লেখক!

এখানে আরও দুটি অপ্রকাশিত সমাধান রয়েছে:

s.split.group_by{|w|'aeiouy'.delete(w)}['']       (43)
s.gsub(/(.+)\n/){|w|'aeiouy'.delete(w)==''?w:''} (48)

প্রথমদিকে আমার ছিল:

s.split.select{|w|(w.chars&%w[a e i o u y]).size==6}

sশব্দগুলি সমন্বিত একটি স্ট্রিং, নতুন লাইনের দ্বারা পৃথক। sএতে পাঁচটি স্বরযুক্ত শব্দের একটি অ্যারে ফিরে আসে। পাঠকদের জন্য রুবির সাথে অপরিচিত %w[a e i o u y] #=> ["a", "e", "i", "o", "u", "y"]এবং &এটি অ্যারে ছেদটি।

অনুমান করা

s = "abbreviations\nabduction\n"
s.split #=> ["abbreviations", "abduction"] 

ব্লকে {...}, শুরুতে

w             #=> "abbreviations"
w.chars       #=> ["a", "b", "b", "r", "e", "v", "i", "a", "t", "i", "o", "n", "s"]
w.chars & %w[a e i o u y] #=> ["a", "e", "i", "o"]
(w.chars & %w[a e i o u y]).size == 6 #=> (4 == 6) => false,

সুতরাং "সংক্ষিপ্তকরণ" নির্বাচন করা হয় না।

যদি স্ট্রিংটিতে sনকল থাকতে পারে তবে এটি s.split.select...দ্বারা প্রতিস্থাপন করা যেতে পারেs.split.uniq.select... সরিয়ে ।

শুধু আমি প্রতিস্থাপন 1 গৃহস্থালির কাজ সংরক্ষণ করতে পারিনি খেয়াল size==6সঙ্গে size>5


1
...size=5এটি একটি বাগ - হওয়া উচিত...size==5
উরি আগাসি

ধন্যবাদ, উরি, প্রথম লাইনে টাইপগুলি নির্দেশ করার জন্য, যা আমি স্থির করেছি (কোন বাগ নেই - উপরের লাইনটি দেখুন 'সুতরাং "সংক্ষেপণ" নির্বাচন করা হয়নি ")।
ক্যারি সোভেল্যান্ড

@ ক্যারি সোভেলল্যান্ড আপনি 11 অক্ষর এটি সংরক্ষণ করে বাঁচাতে পারবেন:s.split.select{|w|'aeiouy'.delete(w)==''}
ওআই

এটি দুর্দান্ত, @ ওআই। আমি একটি সম্পাদনা করেছি এবং এমন একটি জায়গা খুঁজে পেয়েছি যা ধূসর কক্ষে রয়েছে।
ক্যারি সোভেল্যান্ড

@CarySwoveland এই 1 এর আরও বেশি চরিত্র সংরক্ষণ করতে হবে: s.split.select{|w|'aeiouy'.tr(w,'')==''}। আমি নিশ্চিত যে আপনি 40 টি অক্ষরের নীচে এটি পেতে পারেন যদি আপনি শূন্য যুক্তি এবং 'ডান' স্ট্রিং পদ্ধতি ব্যবহার করেন। এখনও খুঁজছি ...
ওআই

6

হাস্কেল - 67

main=interact$unlines.filter(and.flip map "aeiouy".flip elem).lines

2
এটি কোড-গল্ফ , আপনার কোডটি ছোট করার চেষ্টা করা উচিত, উদাহরণস্বরূপ, সাদা স্থান সরিয়ে ...
এমনিপ

6

রুবি - ২৮ টি অক্ষর (বা ২ 27 yস্বর থেকে বাদ দিলে )

("ieaouy".chars-s.chars)==[]

চালানোর সম্পূর্ণ কমান্ডটি হল (48 টি অক্ষর):

ruby -nle 'p $_ if ("ieaouy".chars-$_.chars)==[]'

সম্পাদনা করুন: প্রতিস্থাপিত putsসঙ্গে pযেমন @CarySwoveland দ্বারা প্রস্তাবিত


খুব ভাল, @ নিক। আরও 1 টির জন্য আরও %w[a e i o u]1 টি সংরক্ষণ করতে পারে । pputs
ক্যারি সোভেল্যান্ড

থানেক্স, @ ক্যারি সোভেলল্যান্ড! আমি ভুলে গিয়েছিলাম p, আমি খুব কমই এটি ব্যবহার করি। % ডাব্লু []] এর ক্ষেত্রে, যদি y স্বরবর্ণের সেটে অন্তর্ভুক্ত করা হয় তবে অক্ষরের সাথে সংস্করণটি আরও খাটো।
নিক ও'লাই

@ নিকও'লাই "aeiouy".delete(s)==''আপনাকে কয়েকটি চরিত্র সংরক্ষণ করতে পারে।
ওআই

খুব সুন্দর! আপনার নিজের সমাধান হিসাবে এটি পোস্ট করুন, @ ওআই। আমি এটি
উত্সাহিত

4

এডাব্লু কে - 29

/ A / && / E / && / I / && / O / && / U / && / y পর্যন্ত /

চালানোর জন্য: ছোট হাতের শব্দের তালিকা এতে সংরক্ষণ করুন wordlist.txt। তারপরে, করুন:

mawk "/ a / && / e / && / i / && / o / && / u / && / y /" wordlist.txt

আপনার সিস্টেমে না থাকে mawk, awkপাশাপাশি ব্যবহার করা যাবে।

আপনি প্রোগ্রামটি সংরক্ষণ করে program.awkএবং করে mawkবা এটি করে একটি ফাইল থেকে এটি চালাতে পারেন awk -f program.awk


রাইট অর্ডার নির্বাচন করা চাকরিকে ত্বরান্বিত করবে: '/y/&&/u/&&/i/&&/o/&&/a/&&/e/'!!
এফ। হাউরি


3

কে [22-5 = 17 টি চর]

আমি "কর্নকোব_লোসারকেস.টেক্সট" ফাইলটির নাম পরিবর্তন করে "ডাব্লু" করেছি

শব্দগুলি গণনা করুন [২২ টি চরিত্র]

+/min'"aeiouy"in/:0:`w

আউটপুট

43

সমস্ত শব্দ খুঁজুন [25 অক্ষর]

x@&min'"aeiouy"in/:x:0:`w

সামগ্রিকভাবে 43 স্বরযুক্ত সমস্ত শব্দ containing (a e i o u y)

আউটপুট

"abstemiously"
"authoritatively"
"behaviourally"
..
..
"unintentionally"
"unquestionably"
"unrecognisably"

3

জাভাস্ক্রিপ্ট / জেএসক্রিপ্ট 147 (152-5), 158 (163-5) বা 184 (189-5) বাইট:

এখানে আমার জাভাস্ক্রিপ্ট এবং জেএসক্রিপ্ট মারাত্মকভাবে "অদৃশ্য" সংস্করণ রয়েছে (164 152 152-5 = 147 বাইট):

function(s,k,z,x,i,c,r){c='aeiouy'.split('');r=[];for(k in s=(s+'').split(/\b/)){i=0;for(z in c)i+=s[k].indexOf(c[z])>=0;i==6&&(r[r.length]=s[k]);}return r;}

function(s,k,z,x,i,c,r){c='aeiouy'.split('');r=[];for(k in s=(s+'').split(/\b/)){i=6;for(z in c)i-=!!s[k].search(c[z]);i&&(r[r.length]=s[k]);}return r;}

ফাংশনটির জন্য আপনাকে @ গৌরাঙ্গট্যান্ডনকে ধন্যবাদ search(), যা আমাকে একটি বাইট বাঁচিয়েছে!

HORRIBLE পারফরম্যান্সের উপর ভিত্তি করে RegExp করুন , তবে উপরের এবং ছোট উভয় (163-5 = 158 বাইট) সমর্থন করুন:

function(s,k,z,x,i,c,r){c='aeiouy'.split('');r=[];for(k in s=(s+'').split(/\b/)){i=0;for(z in c)i+=RegExp(c[z],'i').test(s[k]);i==6&&(r[r.length]=s[k]);}return r;}

সঙ্গে ভিত্তিক RegExp ভালোভাবে কর্মক্ষমতা, কিন্তু আরো অনেক (189-5 = 184 বাইটস) বাইট লাগে:

function(s,k,z,x,i,c,r,l){l=[];r=[];for(z in c='aeiouy'.split(''))l[z]=RegExp(c[z],'i');for(k in s=(s+'').split(/\b/)){i=0;for(z in c)i+=l[z].test(s[k]);i==6&&(r[r.length]=s[k]);}return r;}


এটি কেবলমাত্র মজাদার জন্য (175-5 বাইট) এবং উত্তর হিসাবে গণনা করা হবে না:

function(s,k,z,x,i,c,r){c='aeiouy'.split('');r=[];for(k in s=(s+'').split(/\b/)){i=0;for(z in c)i+=s[k].indexOf(c[z])>=0;i==6&&(r[r[r.length]=s[k]]=1+(r[s[k]]||0));}return r;}

এটি 1 ম উত্তরের ভিত্তিতে, তবে একটি 'টুইস্ট' রয়েছে: আপনি কতবার কোনও শব্দ খুঁজে পেয়েছেন তা জানতে পারবেন can

আপনি কেবল এটির মতো করুন:

var b=(function(s,k,z,x,i,c,r){c='aeiouy'.split('');r=[];for(k in s=(s+'').split(/\b/)){i=0;for(z in c)i+=s[k].indexOf(c[z])>=0;i==6&&(r[r[r.length]=s[k]]=1+(r[s[k]]||0));}return r;})('youaie youaie youaie youaie a word');

b.youaie //should be 4

যেহেতু এতে lengthসমস্ত স্বর নেই, এটি মুছে ফেলা হবে না এবং এটি এখনও বোনাসের জন্য একটি উত্তর হবে।


এটাকে কীভাবে ডাকবেন?

"সহজ": আপনি ফাংশন ভিতরে মোড়ানো ()এবং তারপর যোগ ('string goes here');শেষ।

এটার মত: (function(s,k,z,x,i,c,r){c='aeiouy'.split('');r=[];for(k in s=(s+'').split(/\b/)){i=0;for(z in c)i+=s[k].indexOf(c[z])>=0;i==6&&(r[r.length]=s[k]);}return r;})('a sentence youyoy iyiuyoui yoiuae oiue oiuea');

এই উদাহরণটি কেবল 1 টি স্ট্রিং সহ একটি অ্যারে প্রদান করবে: yoiuae

আমি জানি যে এটি সবচেয়ে খারাপ সমাধান, তবে কাজ করে!


আমি কেন গণনা করছি -5?

ঠিক আছে, জাভাস্ক্রিপ্ট / জেএসক্রিপ্ট অ্যারেগুলির একটি বৈশিষ্ট্য রয়েছে ( length) যা এটিতে থাকা উপাদানগুলির সংখ্যা বলে।

প্রশ্নে নিশ্চিত হওয়ার পরে -5 এর বোনাসটি শব্দের সংখ্যা বলার জন্য।

শব্দের সংখ্যা যেহেতু সেই সম্পত্তিটিতে রয়েছে, স্বয়ংক্রিয়ভাবে আমার স্কোর -5 রয়েছে।


1 টি সংরক্ষণের search()পরিবর্তে আগ্রহী হতে পারে indexOf()
গৌরাঙ্গ ট্যান্ডন

উপরন্তু, যতদুর আমি দেখতে পারেন, আপনার সবচেয়ে কম সংস্করণে, আপনি প্রয়োজন হবে না .split()উপর "aeiouy"। জেএস একইভাবে একটি অ্যারের উপরে লুপ করে lo (এটি সরিয়ে ফেললে আপনি 10 ডলার সাশ্রয় করেন)
গৌরাঙ্গ ট্যান্ডন

2

রুবি 39 38

ইনপুট এবং আউটপুট সহ পুরো প্রোগ্রাম গণনা করার সময় সংক্ষিপ্ততম রুবি এন্ট্রি ।

এর mapপরিবর্তে ব্যবহার করে একটি চর সংরক্ষণ করা each:

$<.map{|w|w*5=~/a.*e.*i.*o.*u/m&&p(w)}

আর একটি সংস্করণ, প্রিটিয়ার আউটপুট সহ 39 টি অক্ষর:

puts$<.select{|w|w*5=~/a.*e.*i.*o.*u/m}

উভয় প্রোগ্রামই স্টিডিনের কাছ থেকে ইনপুট নেয় বা কোনও ফাইলের নাম হিসাবে কমান্ড লাইন আর্গুমেন্ট হিসাবে পাস হয়:
$ ruby wovels.rb wordlist.txt

বোনা yহিসাবে চালিত হতে এটির জন্য অতিরিক্ত 3 টি অতিরিক্ত অক্ষর ।


যাইহোক Enumerable#grepএই ছোট করতে ব্যবহার করবেন? উদাহরণস্বরূপ, s.split.grep /a*e*i*o*u*y/ধরে sনেওয়া শব্দের একটি স্ট্রিং যা নিউলাইন দ্বারা পৃথক করা হয়।
ওআই

@ ওআই একটি আকর্ষণীয় ধারণা, তবে এতে কিছুটা ফিডিং লাগবে কারণ রেগেক্সের একটি নির্দিষ্ট ক্রমে উওল রয়েছে। এই কারণেই আমি .*পশমটির সাথে মিলে যাওয়ার আগে 5 বার পুনরাবৃত্তি করলাম , যার সাথে উওলগুলির মধ্যে রয়েছে।
ডানিরো

আপনি কি স্পষ্ট করতে পারেন? ধরুন s = "aeiouy\neiouay\nyuaioe\n"। তারপর আমার জন্য s.split.grep /a*e*i*o*u*y/ফিরে ["aeiouy", "eiouay", "yuaioe"]pryরুবি ২.০.০ এ পরীক্ষা করা হচ্ছে । দুর্দান্ত সমাধান, উপায় দ্বারা।
ওআই

@ ওহ ওহ, আমি ধরে নিয়েছি যে অপারেটরটি grepব্যবহার করেছে =~তবে স্পষ্টতই এটি ব্যবহার করে ===। আমার সন্দেহ ছিল যে এটি সমস্ত পশমযুক্ত না থাকা স্ট্রিংগুলির সাথেও মেলে, কারণ উদাহরণস্বরূপ /e*a*i*o*u*y/=~"eioy"কাজ করে। আমি সত্যিই বুঝতে পারি না ===একটি রেজেক্স এবং অপারেটরের মধ্যে আসলে কী হয়। দুর্দান্ত সন্ধান; আমি আপনাকে নিজের উত্তর হিসাবে পোস্ট করার পরামর্শ দিচ্ছি। আমি ঠিক ছিলাম সম্পাদনা করুন: উদাহরণ দিয়ে চেষ্টা করুন "heya"
ডানিরো

যদিও আমি মনে করি আপনি ঠিক বলেছেন যে রেজেক্সের টুইট করা দরকার, যদিও। আমি প্রান্তের কেসগুলি খুঁজে পাচ্ছি যার মধ্যে সমস্ত স্বর থাকে না যার মধ্যে ফুটো হয়ে যায়। সত্য হতে পারে খুব ভাল।
ওআই

2

গণিত (65 বা 314)

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

b = Permutations[{"a", "e", "i", "o", "u","y"}]; Table[
 Select[StringSplit[
  URLFetch["http://www.mieliestronk.com/corncob_lowercase.txt"]], 
  StringMatchQ[#, (___ ~~ b[[i]][[1]] ~~ ___ ~~ 
      b[[i]][[2]] ~~ ___ ~~ b[[i]][[3]] ~~ ___ ~~ 
      b[[i]][[4]] ~~ ___ ~~ b[[i]][[5]]~~ ___ ~~ b[[i]][[6]] ~~ ___)] &], {i, 1, 
  Length[b]}]

20 320 টি অক্ষর। বিকল্প স্বরলিপি ব্যবহারের মাধ্যমে কয়েকটি বাঁচানো যেতে পারে, এবং অতিরিক্ত অক্ষরগুলি স্ট্রিংয়ের একটি তালিকা হিসাবে অভিধানের ফাইলটি প্রস্তুত করা হারিয়ে যায় (ম্যাথমেটিকায় অভিধানের জন্য প্রাকৃতিক ফর্ম্যাট Other যদি আমরা সেই পদক্ষেপটি বাদ দিয়ে থাকি, অনুমান করে আমাদের জন্য এটি পরিচালনা করা হয়েছে, একই পন্থাটি 250 টি অক্ষরের অধীনে করা যেতে পারে এবং আমরা যদি ম্যাথমেটিকার অন্তর্নির্মিত অভিধান ব্যবহার করি তবে আমরা আরও বড় সঞ্চয়ী পাই,

Map[DictionaryLookup[(___ ~~ #[[1]] ~~ ___ ~~ #[[2]] ~~ ___ ~~ #[[3]] 
~~ ___ ~~ #[[4]] ~~ ___ ~~ #[[5]]~~ ___ ~~ #[[6]] ~~ ___) .., IgnoreCase -> True] &, 
 Permutations[{"a", "e", "i", "o", "u","y"}]]

200 টি অক্ষরের নিচে। প্রাপ্ত শব্দের সংখ্যা গণনা করার জন্য কেবল ফলাফলটি পাস করা দরকার Length[Flatten[]]যা উপরের কোডের ব্লকের চারপাশে যুক্ত করা যেতে পারে, বা পরে এটি করা যেতে পারে, উদাহরণস্বরূপ Length@Flatten@%,। এই চ্যালেঞ্জের জন্য নির্দিষ্ট করা ওয়ার্ডলিস্টটি 43 টি ম্যাচ দেয় এবং ম্যাথমেটিকা ​​অভিধানটি 64 দেয় (এবং আরও দ্রুত)। প্রতিটি অভিধানে শব্দটির মিল রয়েছে অন্যটিতে নয়। গাণিতিক "উদাহরণস্বরূপ," উদাহরণস্বরূপ, যা ভাগ করা তালিকায় নেই, এবং ভাগ করা তালিকাটি "ইউক্যারিওটিক" আবিষ্কার করে, যা গণিতের অভিধানে নেই।

বেলিসারিয়াস একটি বিস্তৃততর উন্নত সমাধানের প্রস্তাব দিয়েছে। ধরে নিই যে ওয়ার্ডলিস্টটি ইতিমধ্যে প্রস্তুত করা হয়েছে এবং ভেরিয়েবলের জন্য বরাদ্দ করা হয়েছে l, তিনি ম্যাথমেটিকার উপর ভিত্তি করে একটি একক পরীক্ষার সংজ্ঞা দিয়েছেন StringFreeQ[] ফাংশনের , তারপরে এই পরীক্ষাকে Pick[]ফাংশনটি ব্যবহার করে শব্দের তালিকায় প্রয়োগ করেন । 65 টি অক্ষর এবং এটি আমার পদ্ধতির চেয়ে প্রায় 400 গুণ বেশি দ্রুত।

f@u_ := And @@ (! StringFreeQ[u, #] & /@ Characters@"aeiouy"); Pick[l,f /@ l]

65 f@u_:=And@@(!StringFreeQ[u,#]&/@Characters@"aeiouy");Pick[l,f/@l]l
অক্ষরে:

এর কারণ আপনি yস্বর (ওপি প্রয়োজনীয়তা অনুসারে) হিসাবে বিবেচনা করতে ভুলে গেছেন
ডঃ বেলিসারিয়াস

@ বিলেসারিয়াস হ্যাঁ, আমি লক্ষ্য করছি যে আমার মন্তব্য করার পরে। আমি স্থির সঙ্গে আমার ফলাফল চেক করছি।
মাইকেল স্টারন

@ বিলেসারিয়াস নিশ্চিত করেছেন - আপনার সমাধানটি আমার চেয়ে অনেক বেশি সংক্ষিপ্ত এবং দ্রুত। আপনি কেন এটি নিজের সমাধান হিসাবে পোস্ট করেন না? আমি এটা ভোট দিতে হবে।
মাইকেল স্টারন

ধন্যবাদ! আপনি যদি এটি পছন্দ করেন তবে এটি সহ আপনার উত্তর সম্পাদনা করুন। আমার জন্য এটি ভাষার সাথে সংক্ষিপ্ত সমাধানগুলি সন্ধান করা, প্রতিনিধি
জড়িত

2

পার্ল 6 - 35 টি অক্ষর

@ ক্যারিস্বলল্যান্ডের রুবি সমাধান দ্বারা অনুপ্রাণিত:

say grep <a e i o u y>⊆*.comb,lines

এটি grepপ্রতিটি লাইন প্রত্যাবর্তন করে যেগুলি প্রত্যাবর্তন Trueকরে <a e i o u y> ⊆ *.comb, যা জিজ্ঞাসা করার অভিনব উপায় মাত্র " ইনপুট ( ) এর অক্ষর দ্বারা গঠিত ('a','e','i','o','u','y')সেটটির একটি উপসেট ( ) সেট করবেন *.comb?"

আসলে, উভয় <a e i o u y>এবং *.combকেবল Listএস তৈরি করুন : (বা (<=)আপনি যদি ASCII এ আটকে থাকেন) সেগুলি আপনার জন্য তাদের মধ্যে পরিণত করে Set

মুদ্রিত রেখার সংখ্যা পেতে, এই 42 টি অক্ষর - 5 = 37 পয়েন্টের স্ক্রিপ্টটি আউটপুটও এনে দেবে:

say +lines.grep(<a e i o u y>⊆*.comb)».say

2

সি - 96 বাইট

 char*gets(),*i,j[42];main(p){while(p=0,i=gets(j)){while(*i)p|=1<<*i++-96;~p&35684898||puts(j);}}

অপারেটর অগ্রাধিকারের সৌভাগ্যবান কাকতালীয়তার কারণে আমি প্রথম বন্ধনীর কয়েকটি বাইট সংরক্ষণ করেছি।


2

জাভাস্ক্রিপ্ট - স্কোর = 124 - 5 = 119 !!!

সম্পাদনা করুন: 17/02/14

function(l){z=[],l=l.split("\n"),t=0;while(r=l[t++]){o=0;for(i in k="aeiouy")o+=!~r.search(k[i]);if(o==0)z.push(r)}return z}

আমাকে ইস্রায়েল মিগুয়েলকে 12 ডলার চর কেটে দেওয়ার জন্য ধন্যবাদ জানাই !

আমি ফ্যাট অ্যার নোটেশন ফাংশন ফর্মটি সরিয়েছি কারণ আমি এটি ব্যবহার শুরু করতে দেখেছি, এটি কাজ করে না। কেন জানি না ...


এটা কাজ করতে:

নীচের মত ফাংশনটির আর্গুমেন্ট হিসাবে নিউলাইন দ্বারা পৃথক করা সমস্ত শব্দ পাস করুন।


টেস্ট:

// string is "facetiously\nabstemiously\nhello\nauthoritatively\nbye"

var answer = (function(l){z=[],l=l.split("\n"),t=0;while(r=l[t++]){o=0;for(i in k="aeiouy")o+=!~r.search(k[i]);if(o==0)z.push(r)}return z})("facetiously\nabstemiously\nhello\nauthoritatively\nbye")

console.log(answer);
console.log(answer.length);

/* output ->    
    ["facetiously", "abstemiously", "authoritatively"]
    3 // count
*/


লাইন 1 এ সিনট্যাক্স ত্রুটি: প্রত্যাশিত এক্সপ্রেশন, '>' সি = (গুলি, জে) => {কে = "আইইউই" .স্প্লিট ("
ইসমাইল মিগুয়েল

1
লুপের k="aeiouy".split("")অভ্যন্তরে চলে যাওয়ার মাধ্যমে আপনি হ্রাস করতে পারেন for(i in k);নতুন লাইনের পরিবর্তে ব্যবহার করা উইন্ডোতে কিছু বাইট সংরক্ষণ করে। এবং এখনও, আমি দেখতে পাচ্ছি না এটি কীভাবে শব্দের একটি তালিকা পরিচালনা করবে। এবং এটি কীভাবে কাজ করবে।
ইসমাইল মিগুয়েল

@ ইসমাইল মিগুয়েল আমি জানি এটি (ফ্যাট অ্যার নোটেশন) কাজ করে না। তবে যেহেতু আমি এটি এখানে ব্যবহার করা দেখেছি তাই এটি ব্যবহার করেছি কারণ এটি অক্ষর সংরক্ষণ করে। তবে আমি তা সরিয়ে দিয়েছি। কোড পরীক্ষা করার জন্য ধন্যবাদ যদিও আমি আপনার টিপটি বুঝতে পারি না। আপনার বাইট টিপ অন্তর্ভুক্ত। এবং আমার নতুন প্রোগ্রামটি আপনার উভয় সন্দেহ মুছে ফেলা উচিত। পড়ার জন্য ধন্যবাদ. :)
গৌরাঙ্গ ট্যান্ডন

পরিবর্তে k="aeiouy";o=0;for(i in k), চেষ্টা করুন o=0;for(i in k='aeiouy')। এবং সেভ বাইটগুলি ব্যবহার করে আপনি এগুলি পরিবর্তন o+=RegExp(k[i]).test(s)করে o+=RegExp(k[i],'i').test(s)আরও একটি বাইট গ্রহণ করতে পারেন , তবে উপরের এবং ছোট হাতের অক্ষর উভয় দিয়েই কাজ করতে পারেন।
ইসমাইল মিগুয়েল

উন্নততর অ্যালগরিদমের সাথে আপডেট হয়েছে। যদিও আমি এখন আপনার ধারণা বুঝি, কিন্তু আমি বুঝতে পারছি না কেন এটি কাজ করে এখানে এবং এখানে । সাহায্য করুন! ধন্যবাদ :)
গৌরাঙ্গ ট্যান্ডন

2

বাশ + কোর্টিলস, 39

eval cat`printf "|grep %s" a e i o u y`

স্টিডিন থেকে ইনপুট নেয়।


এটি 5-পয়েন্ট বোনাসের জন্য যোগ্য মনে হচ্ছে।
গ্লেন র্যান্ডার্স-পেহারসন

@ গ্লেনরান্ডার্স-পেহারসন এই বোনাসটি আমার কাছে মোটেই অর্থবোধ করে না ;-)
ডিজিটাল ট্রমা ২

এটি বোধগম্য হোক বা না হোক, আপনি ওয়ার্ডলিস্টের দুটি অনুলিপিযুক্ত কোনও ফাইল প্রক্রিয়া করার সময় 86 টি লাইন সঠিকভাবে নির্গত করেন। সমাধানগুলি যেগুলি সাজায় এবং কেবলমাত্র 43 টি রিপোর্ট করে বোনাসটি পাবেন না, যেমনটি আমি এটি বুঝতে পারি।
গ্লেন রেন্ডার্স-পেহারসন

2

সেড 29 অক্ষর

/y/{/u/{/o/{/i/{/a/{/e/p}}}}}

গতি পরীক্ষার জন্য উইকিপিডিয়ায় লেটার ফ্রিকোয়েন্সি থেকে অর্ডার বেছে নেওয়া হয়েছে ।

আমার হোস্টে:

time sed -ne '/a/{/e/{/i/{/o/{/u/{/y/p}}}}}' </usr/share/dict/american-english >/dev/null 
real    0m0.046s

এবং

time sed -ne '/y/{/u/{/i/{/o/{/a/{/e/p}}}}}'</usr/share/dict/american-english >/dev/null 
real    0m0.030s

1
চমৎকার (+1), তবে আমি মনে করি আপনাকে 36 বাইট গণনার জন্য স্ক্রিপ্টে "সেড-এন" অন্তর্ভুক্ত করা দরকার।
গ্লেন র্যান্ডার্স-পেহারসন

2

বাশ (গ্রেপ) - 36 বাইট

g=grep;$g y|$g u|$g o|$g i|$g a|$g e

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


কেন ডাব্লুসি, আমরা খুঁজে পাচ্ছি না, গণনা করছি না? এছাড়াও, আমরা কি অক্ষর গণনায় ইনপুট কোড গণনা করব?
প্রাচ্য

আমি বোনাসটি সত্যই বুঝতে পারি না, "-5 শব্দটির সমস্ত উপস্থিতি গণনা করার জন্য পয়েন্ট"। যদি এর সত্যিকারের অর্থ "শব্দের সমস্ত ঘটনা প্রতিবেদন করা" হয় তবে আমার স্ক্রিপ্টগুলি "| ডাব্লুসিটি" ছাড়াই এটি করে। আমি কোনও "ইনপুট কোড" ব্যবহার করছি না কারণ গ্রেপ স্ট্যান্ডার্ড ইনপুট পড়ে, তাই "গ্রেপ" হ'ল "ইনপুট কোড" এবং আমি এটি গণনা করি। আমি এখন "| wc" সরিয়ে ফেলব।
গ্লেন রেন্ডার্স-পেহারসন

আমি বোনাস অস্বীকার করেছি।
গ্লেন র্যান্ডার্স-পেহারসন

1

ডি - 196

import std.regex,std.stream;void main(string[]a){auto f=new File(a[1]);while(!f.eof)if(!(a[0]=f.readLine.idup).match("(?=.*a)(?=.*e)(?=.*i)(?=.*o)(?=.*u)(?=.*y).*").empty)std.stdio.writeln(a[0]);}

আন-গল্ফড :

import std.regex, std.stream;

void main( string[] a )
{
    auto f = new File( a[1] );

    while( !f.eof )
        if( !( a[0] = f.readLine.idup ).match( "(?=.*a)(?=.*e)(?=.*i)(?=.*o)(?=.*u)(?=.*y).*" ).empty )
            std.stdio.writeln( a[0] );
}

ব্যবহার :C:\>rdmd vowels.d wordlist.txt

wordlist.txt ছোট হাতের অক্ষরের তালিকা থাকা উচিত।


1

রিবোল (104 টি অক্ষর)

remove-each w d: read/lines %wordlist.txt[6 != length? collect[foreach n"aeiouy"[if find w n[keep n]]]]

আন golfed:

remove-each w d: read/lines %wordlist.txt [
    6 != length? collect [foreach n "aeiouy" [if find w n [keep n]]]
]

dএখন পাওয়া শব্দগুলির তালিকা রয়েছে contains রেবোল কনসোলের একটি উদাহরণ এখানে:

>> ; paste in golf line.  This (REMOVE-EACH) returns the numbers of words removed from list

>> remove-each w d: read/lines %wordlist.txt[6 != length? collect[foreach n"aeiouy"[if find w n[keep n]]]]
== 58067

>> length? d
== 43

1

ছোট্ট টাল্ক (৩//7 cha অক্ষর)

'corncob_lowercase.txt' asFilename contents select:[:w | w includesAll:'aeiouy']

গণনা পেতে, ফলাফলটি সংগ্রহ করতে # আকার দিন। ফলাফল সংগ্রহের মধ্যে 43 টি শব্দ রয়েছে ('অবমাননাকর' 'অনুমোদনযোগ্যভাবে ...' 'সন্দেহাতীতভাবে' 'অজ্ঞাতসারে')

উপরের কোডটিতে cha 77 টি অক্ষর রয়েছে তবে আমি ওয়ার্ডলিস্ট ফাইলটির নাম 'ডাব্লু' দিয়ে রাখতে পারতাম, তাই আমি ফাইলের নামটি 1 হিসাবে গণনা করি যা 57 এর স্কোর দেয়।

ফাইল পড়লে কি সমস্যা হয় নাকি? যদি না হয় (অন্যান্য উদাহরণ দেখুন), এবং শব্দের তালিকা ইতিমধ্যে একটি সংগ্রহ সিতে রয়েছে, তবে কোডটি হ্রাস পেয়েছে:

c select:[:w | w includesAll:'aeiouy']

যা 36 টি অক্ষর (বাদ দেওয়া যায় এমন সাদা স্থান)।


1

আপডেট হয়েছে: অপ্রয়োজনীয় স্পেস সরানো হয়েছে

খুব ধীর অথচ ব্যাশে (৮১ টি চর):

while read l;do [ `fold -w1<<<$l|sort -u|tr -dc ieaouy|wc -m` = 6 ]&&echo $l;done

সম্পাদনা: @ nyuszika7h এর পরামর্শ অনুযায়ী echo $l|fold -w1প্রতিস্থাপন fold -w1<<<$lকরা হয়েছে


এটি কোড গল্ফ, আপনি নিজের কোডটি আরও কিছুটা ছোট করতে চাইবেন। অপ্রয়োজনীয় সাদা স্থান সরিয়ে শুরু করুন। ;)
nyuszika7h

আপনি এর fold -w1<<<$lপরিবর্তে ব্যবহার করে কোডটি আরও ছোট করতে পারেন echo $l|fold -w1দ্রষ্টব্য: বর্তমান কোডটি 84 টি অক্ষর, আপনার পেছনের নতুন লাইনটি গণনা করা উচিত নয়।
nyuszika7h

আজ অবধি আমি <<< সম্পর্কে কিছুই জানতাম না। আপনাকে আবার ধন্যবাদ, @ nyuszika7h। আপনি আমাকে বলতে পারেন, যেখানে এটি ব্যাখ্যা করা হয়।
নিক ও'লা


1

জাভাস্ক্রিপ্ট - 95 বাইট

এই আমার গল্ফ।

function f(s){return[var a=s.match(/^(?=.*a)(?=.*e)(?=.*i)(?=.*o)(?=.*u)(?=.*y).*/),a.length];}

এবং আমি এটিও উল্লেখ করতে চাই যে আপনার গল্ফ স্বরগুলির সমস্ত উপস্থিতি খুঁজে পায় না।

Ungolfed:

function countVowels(string) {
  var regex   = /^(?=.*a)(?=.*e)(?=.*i)(?=.*o)(?=.*u)(?=.*y).*/;
  var matches = string.match(regex);
  var length  = matches.length;
  return [matches, length];

1
আরও সাবধানে অনুমানটি পড়ুন। তিনি এমন শব্দের সন্ধান করছেন যা --- আকর্ষণীয়ভাবে --- একক শব্দের মধ্যে সমস্ত স্বর ধারণ করে। যদিও তিনি জেদ করেন না যে সেগুলি যথাযথভাবে রয়েছে।
dmckee

1
আপনার রেজেক্স ভুল। সমস্ত বর্ণনাকারী কার্যকরভাবে প্রথম চরিত্রটি স্বর কিনা তা পরীক্ষা করে দেখছে। আপনি স্ট্রিং কোথাও আছে (?=.*a)কিনা তা পরীক্ষা করা দরকার a
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

যে কেন আমি ব্যবহার @dmckee lookaheads । তাদের কোনও নির্দিষ্ট আদেশের প্রয়োজন নেই।
ইসিয়া মিডোস

@nhahtdh ধন্যবাদ মাছ ধরার জন্য
Isiah Meadows,

1

সাজান + ইউনিক + সেড

এটি একটি শব্দের বারবার সংঘটনগুলির সাথে মেলে না। এটি কোনও শব্দের শুরুতে ঘটে থাকলে 'y' বর্ণটির সাথে মেলে না।

sort wordlist.txt | uniq | sed -n '/a/p' | sed -n '/e/p' | sed -n '/i/p' | sed -n '/o/p' | sed -n '/u/p' | sed -nr '/^[^y]+y/p' 

আপনার অন্যান্য উত্তরের মত, "বাছাই করা ওয়ার্ডলিস্ট.টেক্সট | ইউনিিক" এর সাথে "বাছাই করা - ওয়ার্ডলিস্ট.টেক্সট" দিয়ে 4 বাইট সংরক্ষণ করুন
গ্লেন রেন্ডার্স-পেহারসন

1

সজোরে আঘাত

ওপি'র মতো সংক্ষিপ্ত নয়, তবে বাশের একটি লাইন:

while read p; do if [ $(sed 's/[^aeiouy]//g' <<< $p | fold -w1 | sort | uniq | wc -l) -eq 6 ] ; then echo $p; fi; done < wordlist.txt

"বাছাই | ইউনিক" এর পরিবর্তে "বাছাই-ইউ" দিয়ে আপনি চারটি বাইট সংরক্ষণ করতে পারেন
গ্লেন র্যান্ডার্স-পেহারসন

এছাড়াও আপনি আরও কয়েকটি বাইট সংরক্ষণ করতে "|" এবং ";" থেকে স্পেসগুলি সরিয়ে ফেলতে পারেন
গ্লেন র্যান্ডার্স-পেহারসন

1

সি # - 170

using System.Linq;class P{static void Main(string[]a){System.Console.Write(string.Join(",",System.IO.File.ReadAllLines(a[0]).Where(w=>"aeiouy".All(c=>w.Contains(c)))));}}

বিন্যাসকৃত:

using System.Linq;
class P
{
    static void Main(string[] a) { 
        System.Console.Write(
            string.Join(",", System.IO.File.ReadAllLines(a[0])
                .Where(w => "aeiouy".All(c => w.Contains(c))))); 
    }
}

গণনা বাস্তবায়নের জন্য এখনই মেজাজে নেই puhতবে সহজ হওয়া উচিত। ওয়ার্ডলিস্টের (লোয়ার-কেস সংস্করণ) ওয়ার্ডলিস্টের পথটি প্রথম আর্গুমেন্ট হিসাবে প্রোগ্রামে পৌঁছে দেওয়া উচিত:

program.exe D:\foo\bar\corncob_lowercase.txt

আউটপুট:

abstemiously,authoritatively,behaviourally,consequentially,counterrevolutionary,
disadvantageously,educationally,encouragingly,eukaryotic,evolutionarily,evolutio
nary,exclusionary,facetiously,gregariously,heterosexuality,homosexuality,importu
nately,inconsequentially,instantaneously,insurrectionary,intravenously,manoeuvra
bility,neurologically,neurotically,ostentatiously,pertinaciously,precariously,pr
ecautionary,questionably,revolutionary,simultaneously,supersonically,tenaciously
,uncomplimentary,uncontroversially,unconventionally,undemocratically,unemotional
ly,unequivocally,uninformatively,unintentionally,unquestionably,unrecognisably

শব্দগুলি আউটপুট এবং কমা-বিচ্ছিন্ন করার স্বাধীনতা নিয়েছি; যার কোনটিই বিধিগুলিতে নির্দিষ্ট করা আছে (কোন রাজ্যে "সমস্ত শব্দ খুঁজে পাওয়া উচিত", আউটপুট কীভাবে হবে না (এবং যদি হয়))

গণনা সহ (+ আউটপুট): 192 - 5 = 187

using System.Linq;class P{static void Main(string[]a){var r=System.IO.File.ReadAllLines(a[0]).Where(w=>"aeiouy".All(c=>w.Contains(c)));System.Console.Write(string.Join(",",r)+" "+r.Count());}}

আউটপুট:

abstemiously,authoritatively,behaviourally,consequentially,counterrevolutionary,
disadvantageously,educationally,encouragingly,eukaryotic,evolutionarily,evolutio
nary,exclusionary,facetiously,gregariously,heterosexuality,homosexuality,importu
nately,inconsequentially,instantaneously,insurrectionary,intravenously,manoeuvra
bility,neurologically,neurotically,ostentatiously,pertinaciously,precariously,pr
ecautionary,questionably,revolutionary,simultaneously,supersonically,tenaciously
,uncomplimentary,uncontroversially,unconventionally,undemocratically,unemotional
ly,unequivocally,uninformatively,unintentionally,unquestionably,unrecognisably 4
3

(শেষে গণনা দ্রষ্টব্য: 43)

কোনও আউটপুট (" সমস্ত শব্দ অবশ্যই খুঁজে বার করবে"): 137 - 5 = 132

using System.Linq;class P{static void Main(string[]a){var r=System.IO.File.ReadAllLines(a[0]).Where(w=>"aeiouy".All(c=>w.Contains(c)));}}

(নিয়মগুলি পরে কিছুটা পরে বাঁকানো: সত্যই নয়) এটি খুঁজে পায় সমস্ত শব্দ করে এবং গণনা সম্পাদন করে উপলব্ধ r.Count()


1

সি-শার্প

আমি এটি আগে কখনও করি নি এবং পোস্টের পদ্ধতিগুলি কী তা আমি ঠিক নিশ্চিত নই। তবে এটাই আমি নিয়ে এসেছি:

185 বাইট

Action<string>x=(s=>s.Split('\n').ToList().ForEach(w=>{if("aeiouy".All(v=>w.Contains(v)))Console.Write(w);}));using(var s=new StreamReader(@"C:\corncob_lowercase.txt"))x(s.ReadToEnd());

wordList = ক List<string>সমস্ত শব্দ ।

আপনি যদি মোট প্রদর্শন করতে চান:

219 - 5 = 214 বাইট

Action<string>x=(s=>{var t=0;s.Split('\n').ToList().ForEach(w=>{if("aeiouy".All(v=>w.Contains(v))){Console.Write(w);t++;}});Console.Write(t);});using(var s=new StreamReader(@"C:\corncob_lowercase.txt"))x(s.ReadToEnd());


সম্প্রসারিত

// init
var words = "";
var vowels = "aeiouy";
var total = 0;

using (var stream = new StreamReader(@"C:\corncob_lowercase.txt"))
{
    // read file
    words = stream.ReadToEnd();

    // convert word to List<string>
    var wordList = words.Split('\n').ToList();

    // loop through each word in the list
    foreach (var word in wordList)

        // check if the current word contains all the vowels
        if(vowels.All (w => word.ToCharArray().Contains(w)))
        {
            // Count total
            total += 1;
            // Output word
            Console.Write(word);
        }

    // Display total
    Console.WriteLine(total);
}

সাধারণত যদি প্রশ্নটি একটি "প্রোগ্রাম" জিজ্ঞাসা করে, আপনার লোডিং / ইনিশিয়েশন ইত্যাদিসহ আপনার সম্পূর্ণ প্রোগ্রামটি পোস্ট করা উচিত অন্যথায় দুর্দান্ত কাজ!
প্রোগ্রামারডান

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

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

ঠিক আছে। ভাল, সেক্ষেত্রে আমি একক হওয়ার জন্য দুটি সংক্ষিপ্ত সংস্করণ আপডেট করেছি।
jzm

গ্রেট! আপনার উত্তরের পাঠ্যটি আপডেট করার বিষয়টি নিশ্চিত করুন (আপনি "লোডিং / পড়া ছাড়াই উল্লেখ করেছেন") এবং আপনার স্কোর গণনা করুন।
প্রোগ্রামারডান

1

vb.net (স্কোর 91 = 96c - 5) * 0

* 0 + 49c মিনিট

এটি একটি গণনা তৈরি করে যা সমস্ত শব্দের সাথে থাকে which

Dim r=IO.File.ReadLines(a(0)).Where(Function(w)"aeiou".Intersect(w).Count=5)
Dim c=r.Count

Your program must find all the words in this wordlist। এটি ক) কোনও প্রোগ্রাম নয় তবে একটি প্রোগ্রামের স্নিপেট এবং খ) শব্দের তালিকাটি পড়ে / ব্যবহার করে না।
রবিআইআইআই

@ রবিআইআইআই ভিবি.net একটি বেসিক কনসোল প্রোগ্রামের জন্য সর্বনিম্ন 49c রয়েছে। প্রোগ্রাম আর্গুমেন্ট (এই ক্ষেত্রে wordlist) অ্যারের হয় একটি । কিছু অন্যান্য যেমন লিনকপ্যাডে বৈধ প্রোগ্রাম তা উল্লেখ করেছেন।
অ্যাডাম স্পিড

1

গণিত - 136 102

Fold[Flatten@StringCases@## &, 
Flatten@Import@"http://bit.ly/1iZE9kY",
___ ~~ # ~~ ___ & /@ Characters@"aeiouy"]

সংক্ষিপ্ত লিঙ্কটি http://www.mieliestronk.com/corncob_lowercase.txt এ যায়


সঙ্গে 28 অক্ষর সংরক্ষণ করুন http://bit.ly/1iZE9kY
wchargin

Characters["aeiou"]আপনি অন্তর্ভুক্ত করা হলে দুটি অক্ষর বা আরও বেশি সংরক্ষণ করুন y
wchargin
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.