একটি স্ট্রিং দেওয়া হয়েছে, সেই স্ট্রিংয়ের "ভাগ্য" ফিরিয়ে দিন।
একটি স্ট্রিংয়ের ভাগ্য, যেমন আমি এই চ্যালেঞ্জের উদ্দেশ্যে সম্পূর্ণরূপে তৈরি করেছি, এটি একটি পূর্ণসংখ্যা, এটি নির্ধারিত:
- একটি স্ট্রিংয়ের জন্য বেস ভাগ্য 1।
- প্রতিটি পরপর চিঠি শব্দ "ভাগ্যবান" (কেস অবশ), সংখ্যাবৃদ্ধি 2. দ্বারা ভাগ্য সঙ্গে এটি শেয়ারের জন্য উদাহরণস্বরূপ, আপনার STRING "ছিল লু mberjack" বা "SMA CK (আরো" আপনি চাই 4. গুন বিশেষভাবে, 2 consec ধারাবাহিক অক্ষর ভাগ করে নেওয়া)
- ভাগ করা অক্ষরগুলি একইভাবে পরের ক্রমে থাকতে হবে এটি "ভাগ্যবান" এ প্রদর্শিত হয় তবে একই মানের জন্য শব্দটি যে কোনও জায়গায় শুরু করতে পারে ("লুসি" এর সাথে "সিকি" হিসাবে একই 8 * গুণক রয়েছে)।
- যদি শব্দটির একাধিক ঘটনা থাকে যেখানে এটি ভাগ্যবানদের সাথে একটানা অক্ষরগুলি ভাগ করে, অক্ষরের দীর্ঘতম ধারাবাহিক স্ট্রিংটি ব্যবহার করুন।
- যে কোনও চিঠির জন্য এটি ভাগ্য থেকে 2 "বিয়োগ" বিয়োগ শব্দটি ভাগ করে।
- এটি কোনও ক্রমের সাথে কোনও পরিমাণের সাথে কোনও পরিমাণের মিল করতে পারে। উদাহরণস্বরূপ, স্ট্রিং "nnnnnomeomen" 24 ভাগ্য হারায় (12 টি মিলছে অক্ষর)
উদাহরণ:
luck("lucky")
>>32
2 ^ 5 (পরপর 5 টি অক্ষর) = 32
luck("firetruck")
>>6
2 ^ 3 - 2 (থেকে 3 পরপর চিঠি uck , ই লক্ষণ সঙ্গে ভাগ করে নেওয়া)
luck("memes")
>>-7
1 - 8 (বেস পরিমাণ, 4 "অদ্বিতীয়" সাথে ভাগ করা)
এটি কোড গল্ফ, সুতরাং কয়েকটি বাইটের সাথে উত্তর জিতল।
আপনি যেভাবে চান ইনপুট এবং আউটপুট করতে পারেন - একটি ফাংশন লিখুন, স্ট্যান্ডার্ড ইনপুট ব্যবহার করুন ইত্যাদি
ফাংশনগুলির জন্য, ধরে নিন যে কোনও তথ্যের ধরণটি সেই ভাষার জন্য অর্থবোধ করবে। (উদাহরণস্বরূপ, জাভাস্ক্রিপ্টে, আপনি একটি পাস String
এবং একটি ফেরত চাই Number
)
সম্পাদনা: আপনি যে কোনও ইনপুট লোয়ারকেস ধরে নিতে পারেন।
int8_t str_luck(const char* str);
উচিত বা হওয়া উচিত uint64_t str_luck(const char* str);
?