ওয়ার্ল্ড বিগ ডোসা


37

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

আপনি দোসা বাটা জন্য একটি প্রতিশ্রুতিবদ্ধ রেসিপি পাবেন :

  • 1 কাপ ভাত
  • 1 কাপ উকদা চাওয়াল
  • ১/২ কাপ উড়াল ডাল
  • ১/২ কাপ পোহা
  • ১/২ চামচ মেথি বীজ
  • লবনাক্ত
  • প্রয়োজন মতো জল

এটি দৈর্ঘ্য প্রায় 1/2 মিটার একটি ডোসা তৈরি করবে ।

চ্যালেঞ্জ

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

পরিমাপ চামচ এবং কাপ নিম্নলিখিত মান মাপের আসা: 1/4, 1/3, 1/2, 2/3, 3/4, এবং 1. রান্নাঘর কর্মী রাগানোর এড়ানোর জন্য, পরিমাপ রিপোর্ট করা আবশ্যক বৃহত্তম ইউনিট মধ্যে যা নম্বর ব্যবহার করে মিশ্র সংখ্যা হিসেবে লেখা যেতে পারে প্রমিত আকারের শুধুমাত্র

পরিমাপগুলি নিম্নলিখিত কনভেনশন অনুযায়ী বৃহত আকারে প্রচার করে:

  • 3 চামচ == 1 চামচ
  • 4 চামচ == 1/4 কাপ

সুতরাং 12 এর একাধিক জন্য, 1/4 চামচ মেথি বীজ 1 চামচ হয়। যাইহোক, 13 এর একাধিকের জন্য, এটি 3 1/4 চামচ হয়ে যায়। অন্যথায় এটি স্ট্যান্ডার্ড আকারে উপস্থাপন করা হবে না।

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

ইনপুট

STDIN (বা নিকটতম বিকল্প), কমান্ড লাইন আর্গুমেন্ট বা ফাংশন যুক্তির মাধ্যমে একটি ধনাত্মক পূর্ণসংখ্যা নিন। এই সংখ্যাটি রেসিপিটির জন্য স্কেলিং ফ্যাক্টর নির্দেশ করে এবং 1 এর মতো ছোট হতে পারে তবে 2 32 -1 এর চেয়ে বড় হতে পারে না । এটি এই ব্যাপ্তির কোনও পূর্ণসংখ্যা হতে পারে।

আউটপুট

স্টপুটে মুদ্রণ করুন (বা নিকটতম বিকল্প) ইনপুট অনুসারে পরিমাপ করা উপাদানের তালিকার পাশাপাশি দোসা বহন করার জন্য প্রয়োজনীয় ওয়েটারের সংখ্যা। উপাদানগুলি অবশ্যই উপরের ক্রমে এবং নীচে প্রদত্ত ফর্ম্যাটে তালিকাবদ্ধ থাকতে হবে।

উদাহরণ

ইনপুট:

2

আউটপুট:

2 cups rice
2 cups ukda chawal
1 cup urad dal
1/2 cup poha
1/2 tsp methi seeds
Salt to taste
Water as needed
1 waiter

নোট করুন যে "কাপ" "কাপ" এ পরিবর্তিত হয় যখন মান 1 এর চেয়ে বেশি হয় "tsp" পরিবর্তন হয় না। "ওয়েটার," "কাপ" এর মতো বহুবচন হয়ে যায়।

ইনপুট:

5

আউটপুট:

5 cups rice
5 cups ukda chawal
2 1/2 cups urad dal
1 1/4 cups poha
1 1/4 tsp methi seeds
Salt to taste
Water as needed
3 waiters

1-এর চেয়ে বেশি সংখ্যার পূর্ণসংখ্যার মানগুলি মিশ্র সংখ্যা হিসাবে উপস্থাপিত হয়, অর্থাত্ একটি পূর্ণসংখ্যা হ্রাস ভগ্নাংশ দ্বারা অনুসরণ করা হয়।

দ্রষ্টব্য: শিরোনামটি একটি সম্পর্কিত ভিডিও থেকে আসে ।


15
এখন আমাদের কোনও শেফের উত্তর দেওয়ার জন্য কারও প্রয়োজন :)
মিকিটি

11
"অপেক্ষার কর্মীরা কম কার্যকর হলে যদি তারা ভগ্নাংশের টুকরো টুকরো করে কাটা হয়, সুতরাং সর্বদা সংখ্যক ওয়েটারের প্রয়োজন হয়।" ... ঠিক কত কম কার্যকর?
লিভিংইনফরমেশন

4
@ লিভিং ইনফরমেশন ওয়েল, আপনি কি কখনও দেখেন যে কেবল এক জোড়া পা আপনার টেবিলে খাবার বয়ে নিয়েছেন?
অ্যালেক্স এ।

7
@AlexA। আপনি না?
লিভিংইনফর্মেশন

7
@ মিকিটি: আমি চেষ্টা করেছি, তবে মনে হচ্ছে সিপিএএন থেকে শেফ ইন্টারপ্রেটারে কিছু বাগ পেয়েছি। (ক) আউটপুট মানগুলি স্পেস দ্বারা পৃথক করা হয়, যখন সেগুলি না থাকে except (খ) আমার মিশ্রিত নম্বর চাটনি উপ-রেসিপি সম্পর্কে কিছু (বা এটি তুলনা মিন্ট করা দই?) একটি অস্পষ্ট ত্রুটির বার্তা দিয়ে দোভাষীকে মারা যাচ্ছে।
টিম পেডারিক

উত্তর:


9

সিজেএম, 214 বাইট

ri[48_24C.25]{[48ZX]f{:DW$@*\md_D{_@\%}h;:M/iDM/}3/_{W=5<}#:I=[(\'/*]{S+_0e=!*}/["cup"2$2a>'s*+"tbsp"_'b-]I=S}%4/"rice
ukda chawal
urad dal
poha
methi seeds
Salt to taste
Water as needed"N/.+N*N@)2/" waiter"1$1>'s*

সিজেএম ইন্টারপ্রেটারে এটি অনলাইনে চেষ্টা করুন ।


এখনও সত্যিই গল্ফ হয়নি, তবে দেরি হয়ে গেছে এবং আমি প্রথম উত্তরটি পোস্ট করতে চেয়েছিলাম।
ডেনিস

যেহেতু কোনও শেফ উত্তর পোস্ট করা হয়নি এবং অনুগ্রহকালীন সময়ের শেষে আপনার সবচেয়ে সংক্ষিপ্ত বৈধ উত্তর, আপনি অনুগ্রহ জিতেছেন। আমার প্রথম চ্যালেঞ্জে অংশ নেওয়ার জন্য ধন্যবাদ। :)
অ্যালেক্স এ।

7

জাভাস্ক্রিপ্ট (ES6), 443 অক্ষর

এটি গল্ফের জন্য খুব মজাদার ছিল, তবে ফলাফলটি আমি প্রত্যাশা করে যাছিলাম তার চেয়ে যথেষ্ট দীর্ঘ।

d=n=>(y=s=>n<s?' cup':' cups',z=s=>n/s|0,A=' 1/4',B=' 1/2',C=' 3/4',n+y(2)+` rice
${n+y(2)} ukda chawal
${(n%2<1?n/2:z(2)+B)+y(3)} urad dal
${((e=n%4)<1?n/4:z(4)+(e<2?A:e<3?B:C))+y(5)} poha
${(n%48<1?z(192)+((c=n/48%4)>2?C:c>1?B:c>0?A:'')+y(193):n%3<1?z(12)+((f=n/3%4)>2?C:f>1?B:f>0?A:'')+' tbsp':(z(4)+(e>2?C:e>1?B:e>0?A:''))+' tsp')} methi seeds
Salt to taste
Water as needed
${(b=Math.ceil(n/2))} waiter`+(b<2?'':'s')).replace(/\n0 /g,'\n')

চেষ্টা কর:

এটি বর্তমানে এমন এবং এমনকি সহ মান গ্রহণ করে 2^32, অথবা 4294967296। এর পরে, 'উড়াদ ডাল' বিজোড় সংখ্যায় উপচে পড়ে এবং নেতিবাচক হয়।

মূলত, এটি যায় হিসাবে সঠিক পরিমাণ গণনা করে। ভাগ্যক্রমে, কেবল মেথি বীজের টিএসপি / চামচ / কাপের ব্যবস্থা থাকতে হবে; অন্যথায়, এটি পুরোপুরি দীর্ঘতর হত। (একা মেথি বীজ লাইন 155 অক্ষর!)

এটি ES5-তে কমপক্ষে 500 টি চর দীর্ঘ হত। আমি ❤ ES6।

সর্বদা হিসাবে, পরামর্শ ব্যাপকভাবে প্রশংসা করা হয়!

সম্পাদনা করুন 1: শুধু বুঝতে পারেন যে নিয়ম অনুযায়ী, 1 tspউল্লেখ করা আবশ্যক 1/3 tbsp, সঙ্গে একই 2 tspএবং 2/3 tbsp, সেইসাথে 16 tspএবং 1/3 cup....


1
ম্যাথ.সিলটি -~এত ছোট করা যেতে পারে , b=-~t/2 এটি আরও খাটো, আপনি প্রথম
বন্ধনীও

@ভিহান টিপটির জন্য ধন্যবাদ, তবে এটি কেবল অ-পূর্ণসংখ্যার জন্য কাজ করে। -~1ফলাফল 2, যা উদ্দেশ্য ফলাফল নয়। আমি যে সর্বোত্তম বিকল্পটি খুঁজে পেলাম b=-~((n-1e-9)/2), এটি কেবল দীর্ঘকাল, তাই আমি এখনকার মতো করে রাখব।
ETH প্রোডাকশনগুলি

3

কমন লিস্প, 435

(lambda(n)(labels((k(y)(some(lambda(x)(integerp(* y x)))'(1 4/3 3/2 2 3 4)))(h(s m)(multiple-value-bind(q r)(floor m)(format()"~[~:;~:*~A ~]~[~:;~:*~A ~]~@? " q r s m)))(g(o &aux(h(/ o 3))(c(/ h 4)))(cond((k c)(h"cup~P"c))((k h)(h"tbsp"h))(t(h"tsp"o)))))(format t"~&~A rice
~Aukda chawal
~Aurad dal
~Apoha
~Amethi seeds
Salt to taste
Water as needed
~A waiter~:P
"(g(* n 12))(g(* n 12))(g(* n 6))(g(* n 3))(g(/ n 4))(ceiling(/ n 2)))))

খানিকটা উজ্জ্বল

(lambda (n)
  (labels ((k (y)
             (some (lambda (x) (integerp (* y x))) '(1 4/3 3/2 2 3 4)))
           (h (s m)
             (multiple-value-bind (q r)
                 (floor m)
               (format nil "~[~:;~:*~A ~]~[~:;~:*~A ~]~@?" q r s m)))
           (g (o &aux (h (/ o 3)) (c (/ h 4)))
             (cond ((k c) (h "cup~P" c)) ((k h) (h "tbsp" h)) (t (h "tsp" o)))))
    (format t "~&~A rice
~A ukda chawal
~A urad dal
~A poha
~A methi seeds
Salt to taste
Water as needed
~A waiter~:P
"
            (g (* n 12)) (g (* n 12)) (g (* n 6)) (g (* n 3)) (g (/ n 4))
            (ceiling (/ n 2)))))

সমস্ত ব্যবস্থা প্রকাশ করা হয় tspkফাংশনের উপর ভিত্তি করে , gসিদ্ধান্ত নিয়েছে যে কোন ইউনিট মুদ্রণের জন্য ব্যবহার করতে হবে এবং hউপযুক্ত আর্গুমেন্টের সাহায্যে ফর্ম্যাটিং ফাংশনটিতে কল করবে ।

  • k 1, 1/4, 1/3, 2/3, 4/3 ইউনিটের একাধিক হিসাবে যুক্তিটি প্রকাশ করা গেলে সত্যটি ফিরে আসে
  • gইনপুটটিকে একটি বড় চামচ সংখ্যার হিসাবে এবং টেবিল চামচ সংখ্যাকে কাপ হিসাবে (প্রশ্নে দেওয়া হয়েছে) রূপান্তর করে। আমরা প্রথমে কাপের ইউনিটগুলি, বা চামচ ইউনিটের ইউনিট বা অন্যথায় টিপিএস দিয়ে মুদ্রণের চেষ্টা করি।
  • hপারেন মুদ্রণ করার জন্য একটি শর্তসাপেক্ষ বিন্যাসন নির্দেশনা ব্যবহার x, x y/zবা y/zঅনুসৃত বিন্যাস দ্বারা sআর্গুমেন্ট সহ m: কাপ জন্য, sহয় "cup~P"যা অনুযায়ী শব্দ plurializes m

উদাহরণ (n = 17)

17 cups rice
17 cups ukda chawal
8 1/2 cups urad dal
4 1/4 cups poha
4 1/4 tsp methi seeds
Salt to taste
Water as needed
9 waiters

এটা ঝরঝরে। চমৎকার কাজ.
অ্যালেক্স এ।

3

আর, 602 603 526 বাইট

এটি সন্দেহজনকভাবে গল্ফ করার জন্য এখনও প্রচুর জায়গা রয়েছে তবে আমার সময় ফুরিয়েছে এবং আমি সত্যিই এইটির উত্তর দিতে চাইছি do

function(i){S=gsub
M=i/c(1,5,60)
A=list(c(2,1),c(4,3),c(64,48))[[I<-max(which(M>=1))]]
B=c(4,12,192)[I]
V=c(' tsp',' tbsp',' cup')[I]
C=i%/%B
C=C+max((i%%B)%/%A*c(.3,.25))
cat(S('([ ]*)0 ','\\1',S('\\.3',' 1/3',S('\\.6',' 2/3',S('\\.5',' 1/2',S('\\.25',' 1/4',S('\\.75',' 3/4',paste0(i,' cup',if(i>1)'s',' rice
',i,' cup',if(i>1)'s',' ukda chawal
',i*.5,' cup',if(i>2)'s',' urad dal
',i*.25,' cup',if(i>4)'s',' poha
',C,V,if(C>1&I>2)'s',' methi seeds
Salt to taste
Water as needed
',ceiling(i*.5),' waiter',if(i>2)'s'))))))))}

5 এর ইনপুটটির জন্য 1/3 tbsp 1/4 tsp methi seedsএটি রয়েছে তবে এটি একটি একক সাধারণ ইউনিটে উপস্থাপন করা উচিত। সুতরাং এটি হওয়া উচিত 1 1/4 tsp methi seeds(যদি আমার মানসিক গণিতটি সঠিক হয়)।
অ্যালেক্স এ।

@AlexA। এটা খুব ভাল জানেন। আমি তাড়াতাড়ি এটি ঠিক করব। আমি ধরে নিই যে এটি কাপ এবং চামচ দিয়ে সমান।
মিকিটি

হ্যাঁ, সমস্ত ইউনিটের জন্য একই নিয়ম। এর মধ্যেই +1, ভাল বিশ্বাসে যে এটি শীঘ্রই ঠিক হয়ে যাবে। আমার প্রথম চ্যালেঞ্জে অংশ নেওয়ার জন্য ধন্যবাদ। :)
অ্যালেক্স এ

1

জাভাস্ক্রিপ্ট (নোড.জেএস) , 419 বাইট

a=>(y=g=>a<g?" cup":" cups",z=g=>a/g|0,a+y(2)+` rice
${a+y(2)} ukda chawal
${(1>a%2?a/2:z(2)+(B=" 1/2"))+y(3)} urad dal
${(1>(e=a%4)?a/4:z(4)+(2>e?A=" 1/4":3>e?B:C=" 3/4"))+y(5)} poha
${1>a%48?z(192)+(2<(c=a/48%4)?C:1<c?B:0<c?A:"")+y(193):1>a%3?z(12)+(2<(f=a/3)?C:1<f?B:0<f?A:"")+" tbsp":z(4)+(2<e?C:1<e?B:0<e?A:"")+" tsp"} methi seeds
Salt to taste
Water as needed
${b=-~a/2|0} waiter`+(2>b?"":"s")).replace(`
0 `,`
`)

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

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