টম তার আবিষ্কারের একটি নতুন প্রোগ্রামিং ভাষা বাস্তবায়ন করতে চলেছে। তবে আসলে এটিতে কাজ শুরু করার আগে, তিনি জানতে চান তার ভাষাটি কেস সেনসিটিভ হওয়া উচিত কিনা।
একদিকে, যদি সংবেদনশীলতা তার কাছে প্রয়োগ করা আরও সহজ বলে মনে হয় তবে তিনি উদ্বেগ প্রকাশ করেছেন যে এটি অক্ষরগুলির সংমিশ্রণের সম্ভাবনাগুলির একটি অভাবের কারণ হতে পারে যা ভেরিয়েবল গঠন করে, যার অর্থ দীর্ঘতর চলক নামগুলি নামকরণ সংঘর্ষ এড়াতে ব্যবহার করা উচিত (কারণ একটি উদাহরণ, আপনি ব্যবহার করতে পারেন Hello
, HEllo
, heLLo
এবং অন্যান্য সম্ভাবনার একটি গুচ্ছ যদি ভাষা কেস সংবেদনশীল, কিন্তু শুধুমাত্র HELLO
যদি না)।
তবে টম একটি নিখুঁত ব্যক্তি, তাই কেবল তাঁর জন্য চিন্তাই যথেষ্ট নয়। সে সংখ্যা জানতে চায়।
চ্যালেঞ্জ
কোনও ফাংশন লিখুন (বা যদি আপনার ভাষা তাদের সমর্থন না করে তবে একটি সম্পূর্ণ প্রোগ্রাম) যা n
ইনপুট হিসাবে একটি পূর্ণসংখ্যা দেওয়া n
হয়, কেস সংবেদনশীলতা এবং ছাড়াই দৈর্ঘ্যের একটি স্ট্রিংয়ের জন্য সম্ভাব্য ক্রম সংখ্যার পার্থক্যকে আউটপুট দেয় (বা প্রত্যাবর্তন করে) ।
টমের ভাষায়, পরিবর্তনশীল নামের মধ্যে সমস্ত বর্ণমালা, আন্ডারস্কোর এবং দ্বিতীয় অক্ষর থেকে শুরু করে অঙ্কগুলি অন্তর্ভুক্ত থাকতে পারে।
Testcases
Input (length of the variable) -> Output (difference between the possibilities with case sensitivity and the possibilities with case insensitivity)
0 -> 0
1 -> 26
2 -> 2340
5 -> 784304586
8 -> 206202813193260
9 -> 13057419408922746
অ-প্রতিযোগিতামূলক সি ++ রেফারেন্স বাস্তবায়ন
void diff(int n) {
long long total[2] = {0, 0}; //array holding the result for case insensivity ([0]) and case sensitivity ([1])
for (int c = 1; c <= 2; c ++) //1 = insensitivity, 2 = sensitivity
for (int l = 1; l <= n; l ++) //each character of the name
if (l == 1)
total[c - 1] = 26 * c + 1; //first character can't be a number
else
total[c - 1] *= 26 * c + 1 + 10; //starting from the second character, characters can include numbers
std::cout << total[1] - total[0] << std::endl;
}
স্কোরিং
টম গল্ফ পছন্দ করে, তাই বাইটের মধ্যে সংক্ষিপ্ততম প্রোগ্রামটি জিতে।
বিঃদ্রঃ
সংখ্যা যথাযথতার কারণে সম্ভবত শেষ দুটি টেস্টকেসগুলি সঠিক না হলে এটি ঠিক আছে। সর্বোপরি, আমি নিশ্চিত নই যে আমার কোডটি 9 নম্বর সঠিকভাবে পরিচালনা করেছে।