আমি কখন আমার স্যান্ডউইচ পাব?


37

এখানে চিত্র বর্ণনা লিখুন

নিম্নলিখিত একটি ইনপুট দেওয়া:

মিষ্টি পেঁয়াজ চিকেন তেরিয়াকি
ওভেন রোস্ট চিকেন
তুরস্ক স্তন
ইতালিয়ান বিএমটি
টুনা
ব্ল্যাক ফরেস্ট হাম
মাটবল মেরিনারা
সোমবার থেকে সর্বনিম্ন সংখ্যা হিসাবে শুরু হয়ে আপনি যে চুক্তিটি পান সে সপ্তাহের প্রতিনিধিত্ব করে 1-7 (বা 0-6) থেকে একটি সংখ্যা আউটপুট করুন। পছন্দসই হলে ইনপুট সমস্ত ছোট হাতের বা বড় হাতের হতে পারে (যেমন "ইতালীয় বিএমটি")। কোনও ইন্টারনেটের অনুমতি নেই।


8
সত্যিই দেখুন না যে এই কলমোগোরভ জটিলতা। পাঠ্যটি ইনপুট ... সংখ্যাগুলি আউটপুট।
জিওকাভেল

5
এছাড়াও রবিবার কি "মিটবল মেরিনারা" বা "মিটবল মেরিনা রা" বলে?
এরিক আউটগলফার

17
একেবারে নিশ্চিত ছিলাম যে হতে অনুমিত এর করছি Marinara কিন্তু keming ছবিতে চমত্কার ভয়াবহ ...
totallyhuman

6
যদি এটি কারও উপকারে আসে: প্রতিটি ইনপুটটিতে aএর প্লাসের সংখ্যা eযথাক্রমে [5,4,3,2,1,3,6]।
জিওকাভেল

উত্তর:


85

পাইথন 2 , 38 30 28 বাইট

lambda S:`6793**164`[len(S)]

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

দুর্ভাগ্যক্রমে এখনও পাইথন 2 উত্তরের চেয়ে এখনও একটি বাইট দীর্ঘ; যদিও enklact-প্রশংস ব্যবহার না করে ।

এখন আইটিএমের উত্তর ক্রাইয়ের চেয়ে এক বাইট কম !

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

প্রচুর শক্তিশালী বলের পরে, আমি একটি অভিব্যক্তি পেয়েছি যা এমন একটি সংখ্যার ফলাফল করে যেখানে কেবল সঠিক সংখ্যা রয়েছে।
আমি লক্ষ্য করেছি যে প্রদত্ত স্ট্রিংয়ের দৈর্ঘ্যের মাত্র একটি নির্দিষ্ট অঙ্কের জন্য 3 বাইট ( %10) প্রয়োজন। সুতরাং আমি আরও একটি পাইথন প্রোগ্রাম লিখেছি ( পাস্তবিন লিঙ্ক ) আরও সন্ধানের জন্য যারা সপ্তাহের দিন পর্যন্ত ইনপুট স্ট্রিংয়ের দৈর্ঘ্যের সরাসরি ম্যাপ করে for

যাদু নম্বরটি এর মতো দেখাচ্ছে: 6793**164 = 28714733692312345620167113260575862840674216760386883406587492336415023761043044176257567032312859371641211117824224067391750766520256112063756278010050204239810862527958109285342869876264808102743173594017101607983288521836082497514383184553444755034407847810524083812459571382103831904835921560285915349760536969265992879312869538914200854305957428078269094250817029486005437991820466986793657301214564264748923199288698278615871481529585816783654841131577178922192383679718074693535597651237893794976519274268917335387876260270630339777501802739852278932279775510324916969726203688466311848240746465178859847331248655567344801(একটি চিত্তাকর্ষক 629 দশমিক সংখ্যা সহ একটি সংখ্যা)

এবং আপনি দেখতে পাচ্ছেন যে নম্বরটি [২৮, ২০, ১৩, ১১, ৪, ১,, ১]] থেকে [০, ১, ২, ৩, ৪, ৫,]] থেকে পাইথনের স্ট্রিংগুলি 0- সূচীবদ্ধ):

2871 4 733692 3 1 2 34 5 6 20 1 6711326 0 5758628406742167603868834... [4]^ [11]^ [13]^ [16]^ ^[17] ^[20] ^[28]

আমার প্রোগ্রাম অন্যান্য এক্সপ্রেশন যা প্রয়োজনীয় সম্পত্তি সঙ্গে সংখ্যাগুলি উত্পাদ, যদিও তারা আরো (28 29 পরিবর্তে) প্রতিনিধিত্ব করতে বাইট নিতে পাওয়া যায়নি: 19439**540, 34052**726, 39311**604, 44873**182, 67930**164এবং 78579**469। (এগুলি লিঙ্কযুক্ত প্রোগ্রামের দ্বারা পাওয়া সমস্ত অভিব্যক্তি; এটির প্রয়োগে বেশ কয়েক ঘন্টা সময় লেগেছিল))

বিকল্প ফাংশন যার জন্য 28 বাইট প্রয়োজন: lambda S:`7954<<850`[len(S)]
বিকল্প ফাংশন যার 29 বাইট প্রয়োজন: lambda S:`9699<<2291`[len(S)]
বিকল্প ফাংশন যার 30 বাইট প্রয়োজন: lambda S:`853<<4390`[len(S)+9]
বিকল্প ফাংশন যার 31 বাইট প্রয়োজন:lambda S:`1052<<3330`[len(S)+8]

এটা কিভাবে কাজ করে? আমি কীভাবে এই সংখ্যাটি তৈরি করেছি? (30 বাইট উত্তর)

30 বাইট উত্তর ছিল lambda S:`3879**41`[len(S)%10]

ইনপুট স্ট্রিংয়ের দৈর্ঘ্যের দিকে [28, 20, 13, 11, 4, 16, 17]লক্ষ্য করে, আমি লক্ষ্য করেছি যে বেস দশে সমস্ত শেষ সংখ্যাগুলি পৃথক, ফলাফলের ফলে [8, 0, 3, 1, 4, 6, 7]। সুতরাং আমার কেবলমাত্র সেই তালিকা থেকে সপ্তাহের সাত দিনের তালিকায় একটি ম্যাপিং দরকার [0, 1, 2, 3, 4, 5, 6]

আমার প্রথম পদ্ধতির ম্যাপিংটি সম্পাদন করতে কেবল একটি স্ট্রিং ব্যবহার করেছে: lambda S:"13*24*560"[len(S)%10]যদিও স্ট্রিংয়ের এগারটি বাইট প্রয়োজন ( "13*24*560")।
সুতরাং আমি গাণিতিক এক্সপ্রেশনগুলির পরীক্ষা করার জন্য একটি পাইথন প্রোগ্রাম ( পাস্তবিন লিঙ্ক ) লিখেছিলাম যার ফলে প্রোগ্রামটি আরও গল্ফ হওয়ার আশায় ম্যাচের অঙ্কগুলির সাথে একটি পূর্ণসংখ্যার ফলাফল হয়। আমি এতদূর যা নিয়ে এসেছি তা হ'ল `3879**41`(কেবল দশটি বাইট, একমাত্র এবং এর মাধ্যমে আমার প্রোগ্রামটি সবচেয়ে ছোট প্রকাশ করে)।

অবশ্যই, বিভিন্ন চেষ্টা করতে পারে বিভিন্ন সম্ভাব্য এক্সপ্রেশন; আমি কেবল ভাগ্যবান হয়েছি যে ফর্মটিতে a**bএকটি ছিল যার যুক্তিযুক্ত ছোট ফলাফল যা আমার প্রয়োজনের সাথে খাপ খায়।

শুধু কৌতূহলী কারও জন্য 3879**41 = 1372495608710279938309112732193682350992788476725725221643007306215781514348937145528919415861895033279220952836384201346579163035594383625990271079 = 1.372... * 10**147,।

অন্য একটি বৈধ ফাংশনটি আমি খুঁজে পেয়েছি যখন বিকল্প এক্সপ্রেশনগুলির জন্য অনুসন্ধান করেছি যা দুর্ভাগ্যক্রমে 32 বাইটের প্রয়োজন: lambda S:`7**416`[len(S)%10+290]


1
আপনি কীভাবে এই সংখ্যাটি তৈরি করেছিলেন? : ও
সম্পূর্ণমানবিক

10
নিবন্ধ
জোনাথন ফ্রেচ

-9114**28এটি একটি ছোট পূর্ণসংখ্যা * যা কাজ করেও (* নিখুঁত পদে এটি নেতিবাচক কারণেই নয় - 629 এর পরিবর্তে 111 ডিজিট)। যদিও বাইটগুলিতে সঞ্চয় করে না।
জোনাথন অ্যালান

4
প্রতিবার একবারে আমি এইচএনকিউতে পিসিজি প্রশ্নগুলি যাচাই করি এবং গল্ফিংয়ের ভাষাগুলি সর্বাধিক তিনটি স্পট হিসাবে খুঁজে পেতে হতাশ হয়। আজ আমি হতাশ হইনি। ধন্যবাদ!
সিডনি

4
@ ক্রিভারিটিম ಠ_ಠ এটি কেবল একই সংখ্যা তবে আরও একটির শিফট ফ্যাক্টর দিয়ে অর্ধেক ಠ_ಠ: পি
হাইপারনিউটারিনো

49

পাইথন 2 , 29 বাইট

lambda s:'enklact'.find(s[3])

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

ব্যাখ্যা

ম্যাজিক স্ট্রিংটি, enklactঅনন্য বর্ণ সহ প্রথম কলামটি সন্ধান করে খুঁজে পাওয়া গেল।

প্রথম কলামটি যায় SOTITBMযা কার্যকর নয় কারণ এটিতে নকল রয়েছে। দ্বিতীয় এবং তৃতীয়টিও কাজ করে না কারণ তারা wvutuleএবং eeranaaযথাক্রমে। চতুর্থ কলামটি অবশ্য এতে সমস্ত অনন্য বর্ণ রয়েছে বলেই কাজ করে।

lambda s:'enklact'.find(s[3])

lambda s:                      # declare a function that takes a single paramater s
                  .find(    )  # find the index of the first instance of...
                        s[3]   # the fourth (0-indexing) character of s...
         'enklact'             # in the magic string

18

পাইথন , 26 বাইট

lambda S:1923136>>len(S)&7

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

জোনাথন ফ্রেচের জবাবের প্রতি ধন্যবাদ (আমার দ্বিতীয় সোজা কোড-গল্ফের জন্য) debt ণ নিয়ে - আমি কোনও পৃথক বর্ণের পরিবর্তে স্ট্রিংয়ের দৈর্ঘ্যটি ব্যবহার করার কথা ভাবিনি!

এই কোডটি ডি ব্রুইজন সিকোয়েন্স এবং দাবা জন্য প্রোগ্রামিংয়ের সাথে আমার অভিজ্ঞতা থেকে প্রাপ্ত ।

দাবাতে, আপনি প্রায়শই বেশ কয়েকটি 64৪-বিট পূর্ণসংখ্যার সাথে কাজ করেন, যেখানে প্রতিটি বিট দাবাবোর্ডের সাথে সম্পর্কিত স্কোয়ার সম্পর্কে কিছু সত্য বা মিথ্যা নির্দেশ করে, যেমন "এখানে একটি সাদা টুকরা রয়েছে" বা "এই স্কোয়ারটিতে একটি প্যাঁচ রয়েছে"।

সুতরাং দ্রুত রূপান্তর পাবে দরকারী 2**nকরার nদ্রুত এবং সস্তায়। সি এবং সি ++-তে, এর দ্রুততম উপায়টি হচ্ছে 64৪-বিট ডি ব্রুইজন ক্রম - nবিট দ্বারা স্থানান্তরিত করার সমতুল্য - তারপরে ডান-শিফট ৫৮ (প্রথম ছয়টি বিট শেষ রাখার জন্য - নিশ্চিত করুন যে আপনি ') পুনরায় স্বাক্ষরবিহীন কোন ব্যবহার করছেন বা আপনি 1s অর্ধেক সময় পাবেন) এবং এই 0..63 নম্বরটি একটি টেবিলটিতে সন্ধান করুন যা আপনাকে nএকই পরিসরের সাথে সম্পর্কিত, তবে খুব কমই একই সংখ্যা দেবে।

এটি এক ধরণের সম্পর্কিত। থেকে পরিবর্তন করার পরিবর্তে 2**nকরতে n, কিন্তু, আমরা পরিবর্তন করতে কাছ থেকে কি চান nকিছু অন্যান্য 3-বিট সংখ্যা। সুতরাং, আমরা আমাদের 3-বিট নম্বরগুলিকে যাদুতে 31-বিট সংখ্যায় আড়াল করি (28-বিট শিফ্টের বিট 28-30 বিট প্রয়োজন, সংখ্যায়ন 0 থেকে শুরু হয়)

আমি কোথায় মানগুলি পড়তে হয়েছে তা দেখে প্রয়োজনীয় নম্বরটি উত্পন্ন করেছি (আউটপুট সেট হিসাবে 0..6 এবং 1..7 উভয়ই চেষ্টা করে)। ভাগ্যক্রমে, ওভারল্যাপিং মানগুলি (14, 16 এবং 17) কার্যকর হয়ে যায়! এবং যেহেতু প্রথম ট্রাই-বিট হয় 000এবং এর পরেরটি হয় 001, আমাদের বামতম 7 টি বিটের প্রয়োজন নেই, ফলে কম সংখ্যার -> উত্সের কম বাইট হয়।

প্রয়োজনীয় সংখ্যাটি হ'ল 000xxxx001110101011xxxx100xxxx, যেখানে x গুলি 1 বা 0 হতে পারে এবং এটি এই নির্দিষ্ট উপকারগুলির জন্য ফলাফলকে প্রভাবিত করে না - আমি সংখ্যাটি হ্রাস করার জন্য এগুলি 0 তে সেট করে রেখেছি, তবে শেষ 8 এক্স এর কোনওটি পরিবর্তন করা উচিত নয় উত্স কোড দৈর্ঘ্য। সমস্ত xs 0 তে সেট করা এবং প্রারম্ভটি ছাড়াই, 1923136 দশমিকায় দেয় (বা হেক্সে 1D5840, তবে তার পরে আপনার 0x উপসর্গ প্রয়োজন - লজ্জা!) & 7 শেষে শেষ 3 বিটকে মাস্ক করুন, আপনিও করতে পারেন % 8 ব্যবহার করুন তবে অজগরটির অপারেটর অগ্রাধিকার নিয়মের কারণে আপনার প্রথম বন্ধনী প্রয়োজন।

tl; dr: 1923136 এই স্যান্ডউইচের নামগুলি ঠিক জায়গায় পড়ে যাওয়ার জন্য সঠিক দাগগুলিতে 0 থেকে 6 পর্যন্ত তিনটি বিট সংমিশ্রনের প্রতিটি এনকোড করে এবং তারপরে ডান স্থানান্তরিত হওয়ার পরে এটি শেষ তিনটি বিট নেওয়ার বিষয়।


আমার বিট মাস্ক পদ্ধতির মত বেশ, তবে আরও ভাল।
ব্রুনো কস্তা

12

জেলি , 10 বাইট

এই সমস্ত "এনক্ল্যাক্ট" ব্যবসায়ের সাথে কী?

⁽ṃXị“Ð$¥»i

একটি মোনাডিক লিঙ্ক অক্ষরের তালিকা নিয়ে এবং সপ্তাহের সোমবার = 1 দিন ফেরত।

এটি অনলাইন চেষ্টা করুন! অথবা পরীক্ষা-স্যুটটি দেখুন

কিভাবে?

⁽ṃXị“Ð$¥»i - Link: list of characters, sandwichName  e.g. "Tuna"
⁽ṃX        - base 250 literal                             -7761
   ị       - index into sandwichName (1-indexed & modular) 'n'
    “Ð$¥»  - dictionary word                               "retinal"
         i - index of                                           5

আপনি -7761/retinalকম্বোটি কীভাবে পেলেন ?
Emigna

3
একটি লুপ লিখেছিলেন যা "শব্দ" তৈরি করে এবং অভিধানে সেগুলি বিদ্যমান আছে কিনা তা দেখে চলেছে। "রেটিনাল" -32249 এবং 32250 (এর পরিসীমা ⁽..) এর মধ্যে একমাত্র ছিল
জোনাথন অ্যালান

... সামান্য ভুল - পরিসীমা ⁽..আসলে [-31349,32250] - [- 99.999] (এছাড়াও আছে অন্য সংখ্যার এক মত তিন বা তার কম বাইট সঙ্গে প্রতিনিধিত্ব করতে পারে হয় 7!!বা ȷ76)
জোনাথন অ্যালান

9

সি (জিসিসি) , 72 71 56 46 41 39 বাইট

f(char*s){s=index(s="enklact",s[3])-s;}

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


i;char x[]="enklact";তুলনায় খাটো i,x[]={101,110,107,108,97,99,116};
জোনাথন ফ্রেচ

এটি পোস্ট করতে char*x="enklact"চলেছিল: এমনকি আরও খাটো: এটি অনলাইনে চেষ্টা করুন!
স্কটিনেট

এছাড়াও, আপনি অপসারণ করতে পারেন i=0
জোনাথন ফ্রেচ

এমনকি সংক্ষিপ্ত সংস্করণটি ব্যবহার করে index: এটি অনলাইন
স্কটিনেট

টুইটারে আমি আগে কখনও সূচক ব্যবহার করি নি। ধন্যবাদ
ক্লাবল্যাঙ্ক

7

এমএটিএল , 16 15 বাইট

O5OHlO7KI6vjYm)

এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা

O5OHlO7KI6 % Push numbers 0, 5, 0, 2, 1, 0, 7, 4, 3, 6
v          % Concatenate all numbers into a column vector
j          % Push input as a string
Ym         % Mean (of ASCII codes)
)          % Index into the column vector (modular, 1-based, with implicit rounding)
           % Implicit display


5

আমি ভাবলাম আমি আরও কয়েকটি বিকল্প পোস্ট করব

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

a=s=>(271474896&7<<s.Length)>>s.Length

ব্যাখ্যা: বিট-মাস্ক শিলা?

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

s=>"240350671"[s.length%10]

দ্বিতীয় বিকল্পটি 29 বাইট দীর্ঘ ভুলে গেছেa=
ব্রুনো কস্তার

কেন a=অংশ প্রয়োজন? এ রোমশ এর উত্তর
জিওকাভেল

1
@ ব্রুনো কোস্টা এই সাইটে, আমাদের আপনাকে আপনার ফাংশনগুলির নাম দেওয়ার দরকার নেই। বেনামে কাজ করে, তাই আপনার দরকার নেই a=
আর

1
@ ব্রুনো কোস্টা দুর্দান্ত, এটি সত্যি আপনার হাতে you আপনি এটি কেবল শিরোনাম বাইট গণনাতেও গণনা করতে পারবেন না এবং পরীক্ষার স্বাচ্ছন্দ্যে স্নিপেটে এটি অন্তর্ভুক্ত করতে পারেন।

1
@ মিশেলবোগার অসম্পূর্ণভাবে আমি মনে করি না কারণ এটি কাজ করার জন্য ন্যূনতম পরিমাণের কোডটি আমি বিশ্বাস করি যে এটির মতো কিছু রয়েছেa=s=>{b=s.Length;return(271474896&7<<b)>>b}
ব্রুনো কোস্টা

4

জেলি , 11 বাইট

4ị“-ƭɼoṚ0»i

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

ব্যাখ্যা:

4ị“-ƭɼoṚ0»i
4ị          4th element of z
  “-ƭɼoṚ0»i First index in "enklactate"

2
@ মিঃ এক্সকোডার যদি না আমি আমার স্ট্রিংয়ের enklactateপরিবর্তে enklactব্যবহার করি, তবে এটি এটিকে 11 এ নামিয়ে আনে;)
এরিক দ্য আউটগল্ফার

5
ওহ, ফাজের পক্ষে , জেলি এর অভিধানে এনক্ল্যাক্টেট কেন ?
সম্পূর্ণমানবিক

3
@icrieverytim এটি নয়, enkএকটি স্ট্রিং এবং lactateএকটি শব্দ। সম্পাদনা: সবেমাত্র নিশ্চিত হয়েছে, enklactateঅভিধানে নেই।
এরিক দি আউটগল্ফার

1
@icrieverytim আমি মনে করি এটা শুধু ল্যাকটেট
মিঃ এক্সকডার

2
হ্যাঁ, আমি জেলি এর অভিধানকে উপহাস করার উপায় খুঁজতে চাইছিলাম ... সম্ভবত পরবর্তী সময়। : পি
সম্পূর্ণমানবিক

3

জাপট , 12 বাইট

0-ইনডেক্সড, ছোট হাতের ইনপুট নেয়।

`kÇXsm`bUg#

এটা পরীক্ষা করো


ব্যাখ্যা

ছোট হাতের স্ট্রিং এর অন্তর্নিহিত ইনপুট U

`kÇXsm`

সংক্ষিপ্ত স্ট্রিং kotinsm

bUg#

bইনডেক্স ( g) 26 ( #) এ অক্ষরের প্রথম সূচক ( ) পান U। (হ্যাঁ, সূচক মোড়ানো!)

পূর্ণসংখ্যার ফলাফলের অন্তর্ভুক্ত ফলাফল output


বিকল্প

উপরের হিসাবে একই (এবং অন্য সবাই!), কেবল পরিবর্তে সূচি 3 তে অক্ষরগুলি ব্যবহার করে শিরোনাম কেস ইনপুটটির অনুমতি দেয়।

`klact`bUg3

এটা পরীক্ষা করো


কোথায় enযাব? : পি
সম্পূর্ণমানবিক

1
@ আইক্রিভারিটিম: এটি একটি সঙ্কোচিত স্ট্রিং; enএকটি ছাপিয়ে পড়া থেকে সংকুচিত হয়।
শেগি

7
আমি মনে করি আমি আপনার কোডটিতে একটি দেখতে পাচ্ছি bUg
শেনলস

3

05 এ বি 1 , 11 বাইট

এরিক দ্য আউটগল্ফারকে 1 বাইট এবং ম্যাগিক অক্টোপাস উরনকে 1 বাইট ধন্যবাদ সংরক্ষণিত।

.•ΛΓ2º•I3èk

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


"enklact"->’enkl†¼’
এরিক আউটগল্ফার

’enkl†¼’->.•ΛΓ2º•
ম্যাজিক অক্টোপাস Ur

@ ম্যাজিক অ্যাক্টোপাস ইউরন ওহ ধন্যবাদ
মিঃ এক্সকডার


@ ম্যাজিক অ্যাক্টপাস ইউরান সংরক্ষণাগারটিতে রাখবেন, ধন্যবাদ: পি
মিঃ এক্সকোডার

3

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

0-ইন্ডেক্স।

s=>"enklact".search(s[3])

এটা পরীক্ষা করো

o.innerText=(f=
s=>"enklact".search(s[3])
)(i.value);oninput=_=>o.innerText=f(i.value)
<select id=i><option selected value="Sweet Onion Chicken Teriyaki">Sweet Onion Chicken Teriyaki</option><option value="Oven Roasted Chicken">Oven Roasted Chicken</option><option value="Turkey Breast">Turkey Breast</option><option value="Italian BMT">Italian BMT</option><option value="Tuna">Tuna</option><option value="Black Forest Ham">Black Forest Ham</option><option value="Meatball Marinara">Meatball Marinara</option></select><pre id=o>



ধন্যবাদ, জিওকাভেল কোথা থেকে আমি এই অতিরিক্ত 3 বাইট পেয়েছি জানি না; এমনকি কাউন্টিং f=শুধু এটা 27. করতে হবে
রোমশ

সহজ এবং কার্যকর সমাধান। +1 :)
ব্রায়ান এইচ।

@ শেগি সম্ভবত আপনার তৃতীয় অতিরিক্ত বাইটটি একটি পিছনের নিউলাইন ছিল।
মাইকেল বোগার 21

3

গল্ফস্ক্রিপ্ট , 12 বাইট

{+}*93&(5?7%

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

থেকে কেনে (তাদের কোড পয়েন্ট সমষ্টি মাধ্যমে) মানচিত্রের 0করতে 6

ব্যাখ্যা

আমি কিছুক্ষণ আগে লিখেছিলাম একটি গল্ফস্ক্রিপ্ট স্নিপেট ব্রুট ফোর্স সরঞ্জাম সহ পাওয়া গেছে ...

{+}*  # Sum all code points.
93&   # ... AND 93.
(     # Decrement.
5?    # ... raised to the fifth power.
7%    # ... modulo 7.

এটি এখানে প্রতিটি ইনপুটকে পছন্দসই ফলাফলে রূপান্তর করে:

                                 {+}*   93&     (            5?   7%
Sweet Onion Chicken Teriyaki     2658    64    63     992436543    0
Oven Roasted Chicken             1887    93    92    6590815232    1
Turkey Breast                    1285     5     4          1024    2
Italian BMT                       965    69    68    1453933568    3
Tuna                              408    24    23       6436343    4
Black Forest Ham                 1446     4     3           243    5
Meatball Marinara                1645    77    76    2535525376    6

2

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

enklactপদ্ধতিটি ব্যবহার করে :

=FIND(MID(A1,4,1),"enklact")

আপনি Google পত্রকে এই রূপান্তর এবং ড্রপ 2 বাইট ড্রপ করতে পারেন")
টেলর স্কট

2

পার্ল 2017.07 স্বীকার করে tr/enklact/^6/.comb[3]যা 22 বাইট হবে তবে টিওআরুন আপাতদৃষ্টিতে এটি এখনও পায় নি।
ম্যাসা

(tio.run perl6 রান করে v2017.6)
ম্যাসা

1
যতক্ষণ না কোনও দোভাষী উপস্থিত থাকে যা 22 বাইট সংস্করণটি চালাতে পারে, এটি বৈধ।
শেগি

2

সিজেম , 11 বাইট

l1b93&(5#7%

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

আমার গল্ফস্ক্রিপ্ট উত্তরের একটি বন্দর । সুস্পষ্টভাবে ইনপুটটি পড়তে এটির জন্য 1 বাইট খরচ হয় তবে কোড পয়েন্টগুলির সংমিশ্রণের সময় আমরা দুটি সংরক্ষণ করি।


2

হুশ , 10 বাইট

%7^5←n93ṁc

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

আমার গল্ফস্ক্রিপ্ট উত্তরের আর একটি বন্দর । আমি নিশ্চিত যে শেষ পর্যন্ত আমি এমন একটি ভাষা খুঁজে পাব যা একক বাইটের জন্য কোড পয়েন্টের যোগফল করতে পারে ...

কুঁড়ি (চ্যালেঞ্জ পরবর্তী আপডেট), 9 বাইট

%7^5←n93Σ

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

এখন, Σ না সমষ্টি কোড পয়েন্ট সরাসরি। যেহেতু আমি এই চ্যালেঞ্জটির উত্তর দেওয়ার পরে একটি অনুরোধ অনুযায়ী এটি যুক্ত করা হয়েছিল, তবে আমি যদিও এটি আমার প্রাথমিক স্কোর হিসাবে ব্যবহার করব না।





1

পার্ল 5 , 43 + 1 ( -p) = 44 বাইট

for$i(S,O,TUR,I,TUN,B,M){$"++;$_=$"if/^$i/}

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

বড় হাতের অক্ষরের জন্য ইনপুটটির প্রথম তিনটি অক্ষর প্রয়োজন।


এটি সমস্ত বড় হাতের অক্ষর, সমস্ত ছোট হাতের বা নিয়মিত হতে হবে।
জিওকাভেল

এটিকে সমস্ত বড় হাতের নাগালে কল করুন। প্রথম তিনটি অক্ষরের বাইরে যেকোন কিছু উপেক্ষা করা হয়।
এক্সকালি

1

জাভা 8, 26 বাইট

ক্রেডিট

চর হিসাবে ইনপুট নেয় []

s->"enklact".indexOf(s[3])

আপনি s->"enklact".indexOf(s[3])যদি উল্লেখ করেন যে আপনি অক্ষরের অ্যারে হিসাবে ইনপুট নেন।
shooqie

তা কি ঠিক আছে? আমি এর মতো কয়েকটি সংক্ষিপ্ত করে উত্তর দিতে পারি
রবার্তো গ্রাহাম

1

হাস্কেল , 36 বাইট

-9 বাইট H.PWiz ধন্যবাদ।

f s=length$fst$span(/=s!!3)"enklact"

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

বিকল্প সমাধান, 45 বাইট

এটি হিসাবে indexOfফাংশন ব্যবহার করে ।Data.ListelemIndex

import Data.List
(`elemIndex`"enklact").(!!3)

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



@ এইচপিউইজ ওহ, ঝরঝরে অপব্যবহার break। ধন্যবাদ!
সম্পূর্ণরূপে


@ এইচ.পি.উইজ হাহাহা, আমি কীভাবে মিস করছি। এক্সডি
সম্পূর্ণরূপে

1

সি ++, 119 118 77 76 73 বাইট

-১৪ বাইট পিটার কর্ডসকে
ধন্যবাদ -১ বাইট ধন্যবাদ জ্যাকারি
-৩ বাইট ধন্যবাদ মাইকেল বোজারকে

স্ট্রিং সূচক 3 এ প্রতিটি স্যান্ডউইচের চরিত্র আলাদা

#include<string>
int s(char*p){return std::string("enklact").find(p[3]);}
std::initializer_list<char*> t{
    "Sweet Onion Chicken Teriyaki",
    "Oven Roasted Chicken",
    "Turkey Breast",
    "Italian BMT",
    "Tuna",
    "Black Forest Ham",
    "Meatball Marinara"
};

for (auto& a : t) {
    std::cout << s(a);
}

সাথে গল্ফ করা std::string, এটা স্পষ্টই ছিল ... আমি কী ভাবছিলাম ...


1
std::findএকটি স্ট্রিংতে আক্ষরিক (বা সম্ভবত ক std::string) কাছে যাওয়ার সুস্পষ্ট উপায় বলে মনে হচ্ছে। মূলত একই ধারণাটি indexবা strchrসি উত্তরগুলি ব্যবহার করে এমন একটি ডেটা স্ট্রাকচারে যেখানে 0-5 অবস্থান থেকে অন্তর্ভুক্ত থাকে।
পিটার কর্ডস

আপনি 2 এবং 3 লাইন লাইনের অভ্যন্তরে
নিউলাইনটি

এনক্ল্যাক্ট সংরক্ষণ করার জন্য আপনার কোনও ভেরিয়েবলের দরকার নেই। std::string("enklact").find(p[3])ঠিকভাবে কাজ করে. এটি এটিকে 3 টি অক্ষর এনেছে।
মাইকেল বোগার

আপনি আপনার ফাংশনে স্ট্রিং লিটারেলগুলি পাস করতে পারেন (g ++ কেবল একটি সতর্কতা উত্থাপন করে) যাতে মেমকিপি স্টাফগুলির প্রয়োজন হয় না।
মাইকেল বোগার


0

গল্ফস্ক্রিপ্ট, 13 বাইট

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

'enklact'\3=?

চতুর্থ চরিত্র গ্রহণ করে (যা প্রতিটিটির জন্যই অনন্য হয়ে উঠবে) এবং স্ট্রিংয়ে এটি দেখায় " enklact"।

বিকল্পভাবে:

'nklact'\3=?)

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



0

কে (ওকে) , 13 বাইট

সমাধান:

"enklact"?*3_

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

উদাহরণ:

> "enklact"?*3_"Black Forest Ham"
5
> "enklact"?*3_"Turkey Breast"
2

ব্যাখ্যা:

ডান থেকে বামে ব্যাখ্যা করা, ইনপুট থেকে চতুর্থ উপাদানটি টানুন এবং "এনক্ল্যাক্ট" তালিকার শূন্য-সূচীর অবস্থানটি ফিরিয়ে দিন:

"enklact"?*3_  / the solution
           3_  / 3 drop, 3_"Turkey Breast" => "key Breast" 
          *    / first, *"key Breast" => "k"
         ?     / lookup right in left
"enklact"      / list to lookup element in
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.