থোরো ছুড়ে ফেলে দিলেও পুরোপুরি ট্রলটি শক্ত কূপের মধ্য দিয়ে ছুড়ে পড়ে


19

এই নয়টি বিভ্রান্তিকর অনুরূপ শব্দের প্রত্যেককে, আপনার পছন্দ মতো কোনওভাবে 1-9 নম্বর দিন:

though
through
thorough
Thoreau
throw
threw
trough
tough
troll

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

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

উদাহরণ

ধরুন আপনি নীচের মতো নম্বরগুলি অর্পণ করেছেন:

though   9
through  2
thorough 7
Thoreau  6
throw    3
threw    5
trough   4
tough    1
troll    8

তারপরে কখন toughইনপুট হয়, 1আউটপুট হওয়া উচিত। ইনপুট
কখন throughহয়, 2আউটপুট হওয়া উচিত। ইনপুট
কখন throwহয়, 3আউটপুট হওয়া উচিত।
। । । ইনপুট
কখন thoughহয়, 9আউটপুট হওয়া উচিত।

অন্য সমস্ত ইনপুটগুলি কিছু করতে পারে।

বিস্তারিত

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

1
ধ্যাত্তেরি! পাইথন স্ট্রিং findপদ্ধতি ব্যবহার করে খুঁজে পাওয়া না গেলে আমার কাছে আউটপুট শূন্যের একটি চতুর সমাধান ছিল । তারপরে নিয়ম বদলে গেল। চতুর ধারণা এখন এত চালাক না।
লজিক নাইট

@ কার্পেট পাইথন আমার সত্যিই খারাপ। আপনি যদি এই পরিবর্তনের বিষয়ে অসন্তুষ্ট হন তবে ডাউনটাতে দ্বিধা করবেন না। (যদিও আমি প্রত্যেককে প্রতিশ্রুতি দিয়েছি সেখানে আর কোনও পরিবর্তন হবে না))
ক্যালভিনের

ঠিক আছে. আমি মনে করি আমার উত্তরটি এখনও বৈধ (যদিও আমি সামান্য শব্দাবলীর)।
লজিক নাইট

মূলধন নির্বিশেষে আমি কি এটিকে কাজ করতে পারি?
ASCIIThenANSI

2
@ এসসিথেনানসী যতক্ষণ না এটি 9 টি ক্ষেত্রে কাজ করে
ক্যালভিনের শখ

উত্তর:


19

সিজোম, 11 9 7 বাইট

q1b2+B%

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

আমরা এই সত্যটি ব্যবহার করছি যে 11 এর সাথে ASCII কোড + 2 মোডের যোগফলটি 9 টি সম্পর্কিত 9 এর পরে 1 এবং 9 এর পরে খুব সুন্দর অর্ডার দেয়। এখানে অর্ডার দেওয়া হচ্ছে:

through -> 1
thorough -> 2 
tough -> 3 
Thoreau -> 4 
throw -> 5 
threw -> 6 
trough -> 7 
though -> 8 
troll -> 9

কোড ব্যাখ্যা :

q               e# Read the input
 1b             e# Sum the ASCII code values of all characters in this word
   2+           e# Increment the sum by 2
     B%         e# Mod by 11 and automatically print the mod result at the end

ব্যবহারকারীর জন্য ধন্যবাদ 430 বাইট

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


আমাদের কীভাবে চেষ্টা করার কথা? (সবাই সিজেমে কথা বলে না, আমাদের মধ্যে কিছু লোককোড কথা বলে)
বেহরোজ

@ বিহারোজ একটি লিঙ্ক আছে এটিতে ক্লিক করুন, আপনার ইনপুটটি ইনপুট বিভাগে রাখুন, রান করুন। এটি কীভাবে সহজ হতে পারে তা নিশ্চিত নয় :)
অপ্টিমাইজার

হোলি ছিঃ ছিঃ, আমি ভাবছিলাম কীভাবে আমার এটি শব্দের তালিকা দেওয়ার কথা। সুন্দর একটি
বেহরোজ

1
@ ব্যবহারকারী23013 ধিক্কার! প্রতি একক সময়!
অপ্টিমাইজার

2
বা q1b2+B%
জিমি 23013

18

পাইথ, 8 টি অক্ষর

e%Cz8109

এটি অনলাইনে ব্যবহার করে দেখুন: বিক্ষোভ বা পরীক্ষার স্যুট

আমি অ্যাসাইনমেন্টটি ব্যবহার করছি:

though   5
through  9
thorough 4
Thoreau  7
throw    3
threw    2
trough   8
tough    6
troll    1

ব্যাখ্যা:

   z       input()
  C        convert to int (convert each char to their ASCII value
           and interprete the result as number in base 256)
 %  8109   modulo 8109
e          modulo 10

BTW, আমি এই স্ক্রিপ্টের ব্যবহার করে ম্যাজিক নম্বর 8109 পাওয়া যায়নি: fqr1 10Sme%CdT.z1


এটির কি মিথ্যা-ধনাত্মকতা থাকবে না?
অ্যালেক্সান্ডার-ব্রেট

5
@ আলেকজান্ডার-ব্রেট ঠিক আপনার অর্থ কি? অন্যান্য সমস্ত ইনপুটগুলির আউটপুট ওপিতে নির্দিষ্ট করা হয়নি। আমরা আমাদের যা ইচ্ছা আউটপুট করতে পারি।
জাকুব

দুঃখিত, আমি ওপিতে সম্পাদনাটি মিস করেছি। এটি লজ্জাজনক: পি
অ্যালেক্সান্ডার-ব্রেট

11

পাইথন 2, 92 54 বাইট

print'K{7j)yE<}'.find(chr(hash(raw_input())%95+32))+1

এর সাথে সূচকের স্ট্রিং তৈরি হয় for word in words: print chr(hash(word)%95+32),। জাকুবের উত্তরে নির্দেশিত হিসাবে, হ্যাশ ফাংশন পাইথন সংস্করণের উপর নির্ভর করে বিভিন্ন ফলাফল দেবে। এই সূচক স্ট্রিংটি 64 বিট পাইথন 2.7.6 এ গণনা করা হয়েছে।

দীর্ঘ (92 বাইট) তবে কম ক্রিপ্টিক উত্তর:

print'though through thorough Thoreau throw threw trough tough troll'.find(raw_input())/7+1

প্রোগ্রামগুলি 1-9 ফেরত দেয় যদিও পুরো থোরিওয়ের মাধ্যমে ক্রমটিতে ক্রমটি ট্রোল নিক্ষেপ করা হয়েছিল। যখন ইনপুটটি পাওয়া যায় না, তখন সন্ধানটি একটি -1 ফিরে আসবে যা সুবিধাজনকভাবে এর পরে শূন্যে পরিণত হয় +1


নোট করুন যে 0স্টাফ আর প্রয়োজন হয় না। আপনার উপর এটি পরিবর্তন করার জন্য দুঃখিত।
ক্যালভিনের

চেষ্টা লক্ষ্য করার জন্য ধন্যবাদ। এটি কিছুক্ষণের জন্য একটি ভাল সমাধান ছিল ...
লজিক নাইট

3
@ কার্পেট পাইথন ফ্লোর-বিভাগের দুর্দান্ত ব্যবহার - এটি আশ্চর্যের সাথে সুন্দরভাবে কাজ করে।
xnor

7

পাইথন 2.7.9 32 বিট সংস্করণ, 22 বাইট

lambda x:hash(x)%78%10

লক্ষ্য করুন, সংস্করণটি এখানে সত্যই গুরুত্বপূর্ণ। পাইথনের bit৪ বিটের সংস্করণ ব্যবহার করা হলে আপনি বিভিন্ন ফলাফল পাবেন। যেহেতু hashপদ্ধতিটি 32 বিটের পরিবর্তে 64 বিট হ্যাশ মানগুলি গণনা করবে।

অ্যাসাইনমেন্টটি হ'ল:

though  => 5   through => 6   thorough => 8
Thoreau => 7   throw   => 3   threw    => 1
trough  => 9   tough   => 4   troll    => 2

এটি অনলাইনে ব্যবহার করে দেখুন: http://ideone.com/Rqp9J8


2
বাহ, এতক্ষণ আপনি কি ভাষা সংস্করণ এবং অপারেটিং সিস্টেমের বিটের মাধ্যমে পুনরাবৃত্তি করছেন? : পি
অপ্টিমাইজার

1
খুব সুন্দর উত্তর। আপনি গণিত, স্বয়ংক্রিয় পুনরাবৃত্তি বা কিছু অনুমানের মাধ্যমে ধ্রুবক 78 পেয়েছেন?
লজিক নাইট

3
@ কার্পেট পাইথন কেবল একটি সাধারণ ব্রুট-ফোর্স লুপ যা সমস্ত সম্ভাব্য মডিউলগুলির মধ্য দিয়ে যায়। একবার sorted(...)==range(1,10), আমি থামলাম।
জাকুব

5

পাইথ, 7 বাইট

et%Cz31

আমি নিম্নলিখিত অ্যাসাইনমেন্টটি ব্যবহার করছি:

though   8
through  3
thorough 1
Thoreau  5
throw    4
threw    7
trough   6
tough    2
troll    9

Czইনপুটটিকে বেস 256 সংখ্যা হিসাবে ব্যাখ্যা করে। তারপরে, আমরা এই মোডটি 31 নেব, 1 টি বিয়োগ করবো এবং ফলাফলটি 10 ​​মডে নিয়ে যাব Equ সমান সিউডোকোড:

((base_256(input()) % 31) - 1) % 10

বিক্ষোভ , পরীক্ষার জোতা


1

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

f=lambda w:int(w,34)%444/46

এই নিয়োগের সাথে:

>>> for w in "though through thorough Thoreau throw threw trough tough troll".split(): print f(w),w
...
9 though
7 through
3 thorough
8 Thoreau
2 throw
5 threw
6 trough
1 tough
4 troll

বিভিন্ন বৈকল্পিক সম্ভব, যেমন

f=lambda w:int(w,35)/159%10

1

জাপট , 6 বাইট

nH %BÉ

চেষ্টা করে দেখুন | সমস্ত শব্দ পরীক্ষা করুন


ব্যাখ্যা

এই সত্যটি কাজে লাগায় যে, যখন nকোনও পূর্ণসংখ্যকে বেস- স্ট্রিংকে বিশ্লেষণ করার সময়, জাভাস্ক্রিপ্ট পার্স করা বন্ধ করবে যদি এটির চেয়ে আরও বেশি কোনও অঙ্কের মুখোমুখি হয় nএবং ফলাফলটি সেই বিন্দু পর্যন্ত ফিরে আসে। বেস -32 এখানে (অঙ্কগুলি 0-v) ব্যবহার করে w"নিক্ষিপ্ত" এবং "নিক্ষিপ্ত" এসগুলি মূলত উপেক্ষা করা হয়।

nH      :Convert from base-32
   %B   :Modulo 11
     É  :Subtract 1

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

একটি সরাসরি অনুবাদ - এটি আলাদাভাবে পোস্ট করা ভাল বলে মনে হচ্ছে না।

f=
U=>parseInt(U,32)%11-1
o.innerText=["through","tough","troll","trough","though","throw","threw","thorough","Thoreau"].map(s=>f(s)+": "+s).join`\n`
<pre id=o><pre>



0

জাভা 8, 53 25 বাইট

s->(s.chars().sum()+2)%11

অথবা

s->-~-~s.chars().sum()%11

@ অপ্টিমাইজারের সিজেএম উত্তর বন্দর , কারণ এটি (সম্ভবত সম্ভবত) জাভাতে কোনও ছোট করা যায় না ..

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


জাভা আছে parseInt, তাই না? আমার সমাধানের একটি বন্দর কি ছোট হবে না?
শেগি

@ শেগি জাভা প্রকৃতপক্ষে parseIntপ্রদত্ত বেসের সাথে রয়েছে, তবে দুর্ভাগ্যক্রমে স্থির শ্রেণির প্রয়োজনের কারণে এটি বেশ বাইট-অতিরিক্ত মাত্রায় : Long.parseLong(...,32)সংক্ষিপ্ততম রূপ হিসাবে। তদতিরিক্ত, এটি কোনও কারণে জাভাতে "throw"(এবং "threw"পাশাপাশি) ব্যর্থ বলে মনে হচ্ছেwবেস -32 পরিসরের বাইরে এটি মনে হয় (এবং 33 ব্যবহার করে ভুল ফলাফল দেয়)।
কেভিন ক্রুইজসেন

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