আপনার দাদা-দাদীর দিনে, একটি ফোন নম্বর ডায়াল করার কাজটি এইভাবে রোটারি ডায়াল দিয়ে করা হয়েছিল :
প্রতিটি অঙ্ক ডায়াল করার জন্য, আপনার আঙুলটি সংশ্লিষ্ট গর্তে রাখুন, এটি আঙুলের স্টপে ধরে টানুন এবং ছেড়ে দিন। একটি প্রক্রিয়া ডায়ালটিকে তার বিশ্রামের স্থানে ফিরিয়ে আনতে সক্ষম করবে এবং ফোনটি শ্রুতিবদ্ধ ক্লিকগুলি তৈরি করে একটি নির্দিষ্ট সংখ্যক বার একটি সার্কিট সংযোগ বিচ্ছিন্ন ও পুনরায় সংযোগ স্থাপন করবে।
অঙ্ক ডায়াল এন প্রয়োজন এন , যেমন "ডাল" এন জন্য = 0 যা দশ ডাল ছাড়া।
রোটারি ফোনের এমন বৈশিষ্ট্য রয়েছে যে বড় অঙ্কগুলি (8, 9, 0) ছোট অঙ্কগুলির (1, 2, 3) এর চেয়ে ডায়াল করতে বেশি সময় নেয়। প্রারম্ভিক অঞ্চল কোড মানচিত্র আঁকার ক্ষেত্রে এটি একটি গুরুত্বপূর্ণ বিবেচনা ছিল এবং কেন নিউইয়র্ক সিটির ভারী জনসংখ্যা (এবং ফোন লাইন) ঘনত্বের সাথে 212 (মাত্র 5 টি ডাল) পেয়েছে , যখন 907 (26 টি ডাল) খুব কম জনবসতিযুক্ত আলাস্কারে গিয়েছিল। স্পর্শ-স্বন ডায়ালিং জনপ্রিয় হয়ে উঠলে অবশ্যই এগুলি সমস্ত অপ্রাসঙ্গিক হয়ে ওঠে।
চ্যালেঞ্জ
যতটা সম্ভব বাইটে লিখুন, একটি প্রোগ্রাম বা ফাংশন যা টেলিফোন নম্বরযুক্ত স্ট্রিং (বা অক্ষরের ক্রম) হিসাবে ইনপুট হিসাবে নেয় এবং তার ঘূর্ণমান ডায়াল ডালের সংখ্যাকে আউটপুট করে। এগুলি নিম্নরূপ গণনা করতে হবে:
সংখ্যা
- 1-9 অঙ্কগুলি ডালের সংখ্যা হিসাবে গণনা করে।
- সংখ্যা 0 ডাল হিসাবে গণনা করা হয়।
চিঠিপত্র
নোট করুন যে ডায়ালের 2-9 অঙ্কগুলিতে ল্যাটিন বর্ণমালার বর্ণগুলি যুক্ত রয়েছে। এগুলি মূলত নামযুক্ত এক্সচেঞ্জের উদ্দেশ্যে করা হয়েছিল , তবে পরে ফোনফোর্ড এবং টেক্সট বার্তা ইনপুট সিস্টেমগুলির জন্য এটি পুনরায় বরাদ্দ করা হয়েছিল ।
আপনার অবশ্যই নিজের ফোন নম্বরগুলিতে অক্ষরের E.161 অ্যাসাইনমেন্টটি ব্যবহার করে চিঠিগুলি সমর্থন করবেন:
- এ, বি, সি = ২
- ডি, ই, এফ = 3
- জি, এইচ, আই = 4
- জে, কে, এল = 5
- এম, এন, ও = 6
- পি, কিউ, আর, এস = 7
- টি, ইউ, ভি = 8
- ডাব্লু, এক্স, ওয়াই, জেড = 9
আপনি ধরে নিতে পারেন যে ইনপুটটি ইতিমধ্যে কেস-ভাঁজ হয়ে গেছে, উপরের বা নিম্নতর ক্ষেত্রে।
অন্যান্য অক্ষর
আপনার অবশ্যই অক্ষরের ()+-./এবং স্থানের বিন্যাস বিভাজক হিসাবে নির্বিচারে ব্যবহারের অনুমতি দিতে হবে । আপনি পারে করার অনুমতি বেছে নেওয়া হয়েছে কোন যদি এটা বাস্তবায়ন করা আরো সহজ, এই কাজের জন্য অ আলফানিউমেরিক অক্ষর।
এই অক্ষরগুলি নাড়ি গণিতে অবদান রাখে না।
উদাহরণ কোড
পাইথনে একটি অ-গল্ফযুক্ত অনুসন্ধান টেবিল এবং ফাংশন:
PULSES = {
'1': 1,
'2': 2, 'A': 2, 'B': 2, 'C': 2,
'3': 3, 'D': 3, 'E': 3, 'F': 3,
'4': 4, 'G': 4, 'H': 4, 'I': 4,
'5': 5, 'J': 5, 'K': 5, 'L': 5,
'6': 6, 'M': 6, 'N': 6, 'O': 6,
'7': 7, 'P': 7, 'Q': 7, 'R': 7, 'S': 7,
'8': 8, 'T': 8, 'U': 8, 'V': 8,
'9': 9, 'W': 9, 'X': 9, 'Y': 9, 'Z': 9,
'0': 10
}
def pulse_count(phone_num):
return sum(PULSES.get(digit, 0) for digit in phone_num)
উদাহরণ ইনপুট এবং আউটপুট
91111 ডলার867-530948 ডলার713 555 0123→ 42+1 (212) PE6-5000। 571-800-FLOWERS। 69PUZZLES48 ডলার
*এবং #, যার টাচ-টোন ফোনে বিশেষ অর্থ রয়েছে এবং রোটারিগুলিতে ডায়ালযোগ্য নয়।
+- ()*#.) অক্ষরের মতো অক্ষরগুলি বড় হাতের মধ্যে সীমাবদ্ধ থাকে। আমি ভুল হলে শুধরে.